1.要求用户从键盘输入一个用户名
2.判断此用户是否存在:
如果不存在,就提示用户此用户名不存在,并退出脚本
如果存在,就判断此用户的密码使用期限是否大于10天
如果是,就告诉他的密码还有多少天可用
否则,就警告次用户该改密码了,并且提示还能使用多少天
3.显示指定用户上一次的登录时间
#!/bin/bash
IFUSER() {
read -p "Please input a user name" USERNAME
if id $USERNAME &> /dev/null; then
return 0
else
echo "The $USERNAME not exist."
exit 6
fi
}
WARNUSER(){
let LASTDATE=`grep "$USERNAME:" /etc/shadow |cut -d: -f3`
#用户上次修改密码的时间
let LASTDATE=`grep "$USERNAME:" /etc/shadow |cut -d: -f3`
#用户上次修改密码的时间
let "CURRENTDATE=`date '+%s'`/86400"
#现在时间
#现在时间
let MAXDATE=`grep "$USERDATE:" /etc/shadow |cut -d: -f5`
#最长使用期限
#最长使用期限
let "WARNDATE=$MAXDATE-$CURRENTDATE+$LASTDATE"
if [ $WARNDATE -gt 10 ];then
echo "$WARNDATE"
else
echo "Please change your password in $WARNDATE"
fi
}
if [ $WARNDATE -gt 10 ];then
echo "$WARNDATE"
else
echo "Please change your password in $WARNDATE"
fi
}
LASTLOG (){
LASTLOGIN=`finger $1 | grep "Last login" | sed "s/.*Last login//g"`
echo "$1 last login time is: $LASTLOGIN"
}
LASTLOGIN=`finger $1 | grep "Last login" | sed "s/.*Last login//g"`
echo "$1 last login time is: $LASTLOGIN"
}
IFUSER
WARNUSER $USERNAME
LASTLOG $USERNAME
WARNUSER $USERNAME
LASTLOG $USERNAME
转载于:https://blog.51cto.com/296237168/557721