# 幫朋友寫的,時間比較倉促,僅做了初步的測試,既然寫了就貼出來分享下,供交流學習使用.
#!/usr/bin/ksh # AUTHOR: Xin23 # Version: Beta 0.1 # Date: 2014-09-05 Get_Days_From_1970(){ BEGINYEAR=1970 ENDYEAR=$(date +%Y) YEARNUM=$(($ENDYEAR-$BEGINYEAR)) LYEARNUM=$(($YEARNUM/4)) RNUM=${LYEARNUM%.*} DAYNUMY=$(($YEARNUM*365)) DAYNUMZ=$(($DAYNUMY+$RNUM)) DAYNUMA=$(($(date +%j)+$DAYNUMZ)) } Get_Days_From_1970 for USER in $(grep ksh /etc/passwd| cut -f 1 -d ':') do LASTUPDATETIMESECOND=$(grep -p $USER /etc/security/passwd | grep lastup | awk '{print $3}') if [ -z "$LASTUPDATETIMESECOND" ] then continue else LASTUPDATETIME=$(expr $LASTUPDATETIMESECOND / 86400 ) EXPIREDTIME=$(($LASTUPDATETIME+140)) DAYVALUE=$(($EXPIREDTIME-$DAYNUMA)) if [ $DAYVALUE -lt 30 ]&&[ $DAYVALUE -gt 0 ] then echo "$USER Should Change Password !!!" elif [ $DAYVALUE -lt 30 ]&&[ $DAYVALUE -lt 0 ] then echo "$USER Already Expired !!!" fi fi done
執行如下:
[aybq76:root]#./AIX_Check_Password.sh
root Should Change Password !!!
mqm Already Expired !!!
monitor Should Change Password !!!
app_r01 Already Expired !!!
ora_r01 Already Expired !!!
app_prd2 Already Expired !!!
ora_prd2 Already Expired !!!
app_prd3 Already Expired !!!
The End