root设置计划任务定期更改指定用户的密码

由root每三个月自动更新一次用户admin的密码

[root@m5 ~]# cat pwd.sh 
#!/bin/bash
adminpwd=`openssl rand -base64 13`                                       #产生随机密码
echo $adminpwd | passwd admin --stdin > /dev/null 2>&1    #修改密码
outpwd=`echo $adminpwd |base64 -i`                                      #对密码的字符串进行简单的加密处理
echo "admin "$outpwd >> ~/.pwds.txt                                     #记录加密过的密码字符串
chmod 600 ~/.pwds.txt                                                              #只有root用户有权限访问

#echo "pwdstr" |base64 -d                                                         #解密的方法

 

计划任务:从计划制定的开始每三个月的1号凌晨3点0分执行
[root@m5 ~]# crontab -l
0 3 1 */3 * /bin/bash /root/pwd.sh

 

如果有多台机器的话,通过执行这个脚本实现批量添加任务

[admin@k8sadd ~]$ cat /tmp/t.sh
#!/bin/bash
cat > /root/pwd.sh <<\EOF                                         #EOF前面加\表示文件里面会引用变量,此变量可来自外部
#!/bin/bash
adminpwd=`openssl rand -base64 13`                                       #产生随机密码
echo $adminpwd | passwd admin --stdin > /dev/null 2>&1    #修改密码
outpwd=`echo $adminpwd |base64 -i`                                      #对密码的字符串进行简单的加密处理
echo "admin "$outpwd >> ~/.pwds.txt                                     #记录加密过的密码字符串
chmod 600 ~/.pwds.txt                                                              #只有root用户有权限访问

#echo "pwdstr" |base64 -d                                                         #解密的方法
EOF

crontab -l | grep -v "pwd.sh" > /tmp/cronlists                         #把其它任务放到一个文本,除了包含这个脚本的任务         
cat >> /tmp/cronlists <<EOF                                                   #追加这个任务进来
0 3 1 */3 * /bin/bash /root/pwd.sh
EOF
crontab /tmp/cronlists                                                             #任务计划重新构建来自这个文本

 

把这个文件保存为脚本,放在RUNDECK+ANSIBLE的环境上传,并在多台机器执行

参考我的这个博文

https://blog.csdn.net/lsysafe/article/details/103121688

 

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页