#!/bin/bash

#判断用户密码是否在警告期内

#密码文件
PASSFILE=/etc/shadow
#判断文件是否存在
if [ ! -e $PASSFILE ]; then
  echo "No $PASSFILE"
  exit 1
fi

#给定用户
USERNAME=user1
#判断用户是否存在
if ! grep "^$USERNAME\>" $PASSFILE &> /dev/null; then
  echo "No $USERNAME"
  exit 1
fi

#密码修改时间
MODDAY=`grep "^$USERNAME\>" $PASSFILE | cut -d: -f3`
#密码有效期
MAXDAY=`grep "^$USERNAME\>" $PASSFILE | cut -d: -f5`
#过期提醒天数
EXPIR=`grep "^$USERNAME\>" $PASSFILE | cut -d: -f6`
#当前秒数
CURRSS=`date +%s`
#当前天数
CURRDAY=$[$CURRSS/86400]
#密码使用天数
USERDAY=$[$CURRDAY-$MODDAY]

if [ $[$MAXDAY-$USERDAY] -ge $EXPIR ]; then
  echo "No warn"
else
  echo -e "WARN!!!\nPlease change your password as soon as possible."
fi

 

posted on 2016-08-14 16:32  浮沉一梦  阅读(231)  评论(0编辑  收藏  举报