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
Timed tasks crontab -e
#change_passwd 0 10 10,25 * * /bin/sh /srv/change_passwd.sh >/dev/null 2>&1
ps: Let's take a look at the shell to randomly modify password
#!/bin/bash name=hostname ETH1="" if ifconfig eth1 &> /dev/null;then ETH1=$(ip a | grep -A 0 "eth1" | 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/ cat /tmp/ rm -rf /tmp/ rm -rf /root/
Summarize
The above is the shell randomly timed password change_passwd.sh introduced by the editor. I hope it will be helpful to everyone!