SoFunction
Updated on 2025-03-02

The shell randomly changes the password change_passwd.sh

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!