![]() |
#!/bin/bash
# Name: pwd_expire_notice.sh
# Author: Andowson Chang (andowson [at] gmail [dot] com)
# Version: 1.0
# Last Modified: 2011-06-22
noticefile=/tmp/pwd_expire.txt
ip=`/sbin/ifconfig eth0|grep "inet addr"|awk '{print $2}'|cut -d":" -f2`
echo $ip
D1=`date +%s`
for i in `cat /etc/passwd | grep bash | awk -F: '{print $1}'`
do
export LANG=en_US
echo -n "password for user ${i} will expire in "
exp_date=`chage -l $i|grep "Password [Ee]xpires"|awk -F: '{print $2}'`
D2=`date +%s -d"${exp_date}"`
((diff_sec=D2-D1))
daysleft=`echo - | awk -v SECS=$diff_sec '{printf "%d", SECS/(60*60*24)}'`
echo "$daysleft days"
if [ $daysleft -le 7 ]; then
echo "$i's password will expire in $daysleft days." > $noticefile
mailto=`grep $i /root/admin/mail.txt|awk -F: '{print $2}'`
if [ -n "$mailto" ]; then
echo "Send mail to ${mailto}"
export LANG=zh_TW.Big5
mail -s "密碼即將到期通知: $i@$ip 尚餘 $daysleft 日" $mailto < $noticefile
fi
fi
done
root:sys.admin@example.com
john:john.doe@example.com
# Notice password will expire (2011.06.22 by Andowson)
10 5 * * * root /root/admin/pwd_expire_notice.sh > /var/log/pwd_expire_notice.log 2>&1
檔案名稱 | mail.txt |
描述 | 作業系統帳號和電子郵件信箱的對應檔 |
檔案大小 | 53 bytes |
下載次數 | 7 次 |
![]() |
檔案名稱 | pwd_expire_notice.sh |
描述 | 讓Linux作業系統帳號之密碼自逾期7天前起發送通知信 |
檔案大小 | 1023 bytes |
下載次數 | 10 次 |
![]() |
檔案名稱 | cron_pwd_expire_notice.txt |
描述 | 排程設定 |
檔案大小 | 142 bytes |
下載次數 | 6 次 |
![]() |