Centos下取随机密码修改并发送至邮箱
Posted 安全365
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos下取随机密码修改并发送至邮箱相关的知识,希望对你有一定的参考价值。
【新朋友】点击标题下面蓝字「 安全365」关注 【老朋友】点击右上角,分享或收藏本页精彩内容 |
大家好,我是sean,为了服务器的安全性,大家都定时修改密码来增强安全性,如果是几台机器手动改就行了,但是如果是几十台上百台机器,每周修改一次,而且要求数字大小写字母加各种特殊符号,这样的话手动修改会产生两个后果,①改完以后手就废掉了,②手抖密码输错了,再次登录发现不上去,这两点是个人深有体会......,然后个人写的一个小脚本就诞生了。
这次实验是在centos6.x的环境下测试的,首先安装一个发邮件的工具
yum -y install mail
然后将我们的脚本放在指定的路径
解释下脚本的内容
#!/bin/bash
ip=`ip add|grep -o -e 'inet [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'|grep -v "127.0.0"|awk '{print $2}'|head -1 ` #这一行是提取本机IP的,不需要改
tr -dc _A-Z-a-z#$%^*-0-9 </dev/urandom |head -c20 >/home/1.txt #这一行是生成随机密码的
cat /home/1.txt |passwd root --stdin#这一行是将生成的密码本机的密码
SendStatus=`mail -v -s "CDN node $ip Latest password" 70921508@qq.com< /home/1.txt | grep -c "Mail Delivery Status Report will be mailed to <root>"` #这一行是将密码发送到指定邮箱,这里你们设置自己的邮箱
if [ "$SendStatus" == "1" ] ; then
echo "Sender mail ok"
rm -rf /home/1.txt
else
echo "Sender mail fail!"
sleep 50
sh /home/psd.sh #这一行要注意,你的脚本路径和脚本名字一定要和这里相同
fi #这个循环是将密码发送到指定邮箱,发送成功则删除生成的密码文件,发送失败则延迟50,在执行一次脚本
我把脚本放在了/home/psd.sh
执行一下sh psd.sh
执行完毕后密码已经过来了
测试登录没有问题
然后设置计划任务(每天晚上一点执行一次) vi /etc/crontab
教程到此结束,自己折腾吧
文章出处:华盟论坛
--------------------------------------
要闻、干货、原创、专业
关注“安全365”
安全365我们坚持,自由,免费,共享
以上是关于Centos下取随机密码修改并发送至邮箱的主要内容,如果未能解决你的问题,请参考以下文章