跳板机定期改密码脚本

很早写的,最近别人问过一次,贴出来吧。




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
#
source  /etc/profile  &> /dev/null
basedir=$( cd  ` dirname  $0`; pwd )
nowmonth=` date  +%m`
nowday=` date  +%d`
email= "$basedir/email/sendemail.sh"
function  GaiMiMa() {
         user= "$1"
         passwd =$( /usr/bin/mkpasswd  -l 20 -d 5 -c 2 -C 4 -s 0)  #mkpasswd 可以yum装下
         echo  $ passwd  |   passwd  --stdin $user
         if  [ $? - eq  0 ]; then
                 sh $email  "$user@*.com"  "跳板机密码更改提示"  "您的跳板机密码已经更改为: $passwd 请注意下次登录时替换此密码。【注意】不要复制空白字符;如有问题请及时找**。"
         echo  "$user ::::: $passwd"  >> $basedir /modify .log
         fi
}
grep  "/bin/bash"  /etc/passwd  | grep  - v  "root" | awk  -F:  '{print $1}'  > $basedir /userlist
#user='yanzong.chen'
for  user  in  ` cat  $basedir /userlist `
do
         month=$(chage -l $user |  grep  "Last password change" | awk  -F:  '{print $2}' | awk  '{print $1}' )
         day=$(chage -l $user |  grep  "Last password change" | awk  -F:  '{print $2}' | awk  '{print $2}' | tr  -d ,)
         month=$( grep  $month $basedir /month | awk  -F '='  '{print $2}' )
         if  [ $nowmonth - ge  $month ]; then
                 D=$( expr  $nowmonth \* 30 + $nowday - $day  - ` expr  $month \* 30`)
                 if  [ $D -gt 85 ]; then
                         GaiMiMa $user
                 fi
         else
                 X=$( expr  $nowmonth \* 30 + $nowday - ` expr  $month \* 30` - $day + 360 )
                 if  [ $X -gt 85 ]; then
                         GaiMiMa $user
                 fi
         fi
done
echo  ` date  +%F` >> $basedir /modify .log


配套month文件

1
2
3
4
5
6
7
8
9
10
11
12
Jan=01
Feb=02
Mar=03
Apr=04
May=05
Jun=06
Jul=07
Aug=08
Sep=09
Oct=10
Nov=11
Dec=12










本文转自 陈延宗 51CTO博客,原文链接:http://blog.51cto.com/407711169/1407814,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值