使用shell怎么随机定时修改密码?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
change_passwd.sh
#!/bin/sh
/usr/bin/chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow
/usr/bin/echo `/usr/bin/date +%Y%m%d%w` |/usr/bin/awk -F '' '{print $1$5$9"Jack_Cui"$3$5$7}' |/usr/bin/passwd --stdin root
/usr/bin/chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow
定时任务 crontab -e
#change_passwd
0 10 10,25 * * /bin/sh /srv/change_passwd.sh >/dev/null 2>&1
ps:下面看下shell 随机修改密码
#!/bin/bash
name=hostname
ETH1=""
if ifconfig eth2 &> /dev/null;then
ETH1=$(ip a | grep -A 0 "eth2" | awk -F "[ /]" '/inet/ {print $3}')
fi
ETH0=$(ip a | grep -A 0 "eth0" | awk -F "[ /]" '/inet/ {print $3}')
MATRIX1="0123456789"
MATRIX2="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
MATRIX3="abcdefghijklmnopqrstuvwxyz"
MATRIX4="./*&^%$#@!()"
LENGTH="16"
ii=1
while [ "${n:=1}" -le "$LENGTH" ]; do
MATRIX=eval echo "$"MATRIX${ii}
PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
let n+=1
ii=expr $ii + 1
if [ $ii -eq 5 ];then
ii=1
fi
done
echo "$PASS" | passwd root --stdin
echo "$ETH1 $ETH0 $name root $PASS" >> /tmp/pass.txt
cat /tmp/pass.txt
rm -rf /tmp/pass.txt
rm -rf /root/test.sh
关于使用shell怎么随机定时修改密码问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.jb51.net/article/177603.htm