我已經自動爲每個設備近2000臺主機更改密碼。我寫下了腳本。需要幫助的shell腳本過濾所有者機器列表
#!/bin/bash
while read line
do
ip=`cat /root/file | awk ' { print $1 } '`
owner=`cat /root/file | awk ' { print $2 } '`
function randpass() {
[ "$2" == "13" ] && CHAR="[:alnum:]" || CHAR="[:graph:]"
cat /dev/urandom | tr -cd "$CHAR" | head -c 8
echo
}
newpass=`randpass`
ssh $ip "mkdir -p /home/dev/.vnc"
ssh $ip "echo $newpass | vncpasswd -f > /home/dev/.vnc/passwd"
ssh $ip "chown -R dev:dev /home/dev/.vnc"
ssh $ip "chmod 0600 /home/dev/.vnc/passwd"
ssh $ip "echo "$newpass" | passwd --stdin dev"
#ssh $ip "echo -e "dev:$newpass" | chpasswd"
echo -e "$ip:$newpass:$owner" >> `date +"%d-%m-%y"`
done < /root/file
它genarates下方輸出到文件:
10.10.10.100:password1:bob1
10.10.10.101:password2:bob2
10.10.10.102:password3:bob3
10.10.10.104:password5:bob1
10.10.10.102:password4:bob3
10.10.10.108:password8:bob1
我需要添加額外的腳本請幫
從上面的文件輸出我需要生成類似下面的文件:
文件名bob1(這是用戶名):
10.10.10.108:password8
10.10.10.104:password5
10.10.10.100:password1
文件名bob2:
10.10.10.101:password2
文件名bob3:
10.10.10.102:password3
10.10.10.102:password4
注:用戶名可能會改變,添加更多的用戶名
您可以在生成的文件使用'grep'。例如,你有'echo -e'$ ip:$ newpass:$ owner「>>'outputFile'' ....然後你可以做一些類似'outputFile | grep bob1> bob1.log'或類似的東西。 – Hackerman
您可能需要編寫一個腳本在2000和主機更改密碼之前得到多一點的shell編程經驗,似乎有很多可以去錯的,如果你沒有得到的腳本絕對完美。 –