くだらねえ質問はここに書き込め! Part63

このエントリーをはてなブックマークに追加
519login:Penguin
>>500-501 スクリプト書いてみましたけど、こんなのでいいのかな?
#! /bin/bash
LANG=C
#ユーザー一覧
lastlog | grep -v "Never logged in" | grep -v "root" | grep -v "Username" > /tmp/userlist1
#日 今月分
DAY=`date +%d`
#日 先月分
DAY_LAST_MONTH=`seq $((DAY+1)) 31`
#月 今月
MONTH=`date +%b`
#月 先月
case $MONTH in
Nov) LAST_MONTH=Oct;;
Dec) LAST_MONTH=Nov;;
esac
#今月ログイン
TARGET1=` grep -v "$MONTH" /tmp/userlist1 | awk '{print $1}' `
grep -e "$LAST_MONTH" /tmp/userlist1 >/tmp/userlist2
#先月ログイン
TARGET2=`for i in $DAY_LAST_MONTH ;do grep -e $i /tmp/userlist2 ; done | awk '{print $1}' `
#現在ログイン
NOW_LOGIN=` w -h|awk '{print $1}'|sort -u`
#止めるアカウント
TARGET_ACCOUNT=` echo "$TARGET1" |grep -v "$TARGET2"| grep -v "$NOW_LOGIN" `
#止める
for i in $TARGET_ACCOUNT ; do echo chsh -s /sbin/nologin $i ;done
rm -f /tmp/userlist1 /tmp/userlist2