shell 账户批量管理脚本
1 [root@CHN-BJ-01-DR720-VPN script]# cat account_auto.sh 2 #!/bin/bash 3 #Date:2013-08-29 4 #Author:ZhangLuYa 5 #Version 1.5 6 7 Port="51022" 8 Work="/work/script" 9 ip_list="${Work}/test.txt" 10 Password=$(cat /dev/urandom|head -1|md5sum|head -c 10) 11 12 Public(){ 13 echo -e "\033[32;49;1m--------------------------------------------------------------------------------\033[39;49;0m" 14 } 15 16 UserAdd(){ 17 Public 18 echo -n "Please input username:" 19 read User 20 for IP in `cat ${ip_list}` 21 do 22 Add_User="useradd -g develop $User;echo "${Password}"|passwd --stdin $User && history -c;sed -i 's#AllowUsers#AllowUsers '''$User'''#g' /etc/ssh/sshd_config;/etc/init.d/sshd restart" 23 Cur_u=`/usr/bin/whoami` 24 ssh -p ${Port} ${Cur_u}@${IP} ${Add_User} > /dev/null 2>&1 25 echo ${IP} ${Port} ${User} ${Password} is ok! 26 done 27 } 28 29 UPDATE(){ 30 Public 31 echo -n "Change Password For User:" 32 read User 33 for IP in `cat ${ip_list}` 34 do 35 Update_User="echo "${Password}"|passwd --stdin $User" 36 Cur_u=`/usr/bin/whoami` 37 ssh -p ${Port} ${Cur_u}@${IP} ${Update_User} >> /dev/null 2>&1 38 echo ${IP} ${Password} OK! 39 done 40 } 41 42 DELETE(){ 43 Public 44 echo -n "Delete Old Server User:" 45 read User 46 for IP in `cat ${ip_list}` 47 do 48 Delete_User="userdel -r $User;sed -i 's#'''$User'''##g' /etc/ssh/sshd_config;/etc/init.d/sshd restart" 49 Cur_u=`/usr/bin/whoami` 50 ssh -p ${Port} ${Cur_u}@${IP} ${Delete_User} >> /dev/null 2>&1 51 echo $IP ${User}: Delete OK! 52 done 53 } 54 QUERY(){ 55 Public 56 echo -n "Query Server User:" 57 read User 58 for IP in `cat ${ip_list}` 59 do 60 Query_User="ls /home|grep ${User}&&echo $IP" 61 Cur_u=`/usr/bin/whoami` 62 ssh -p ${Port} ${Cur_u}@${IP} ${Query_User} 63 done 64 } 65 66 CMD(){ 67 Public 68 echo -n "Input cmd:" 69 read CMD 70 for IP in `cat ${ip_list}` 71 do 72 Cur_u=`/usr/bin/whoami` 73 ssh -p ${Port} ${Cur_u}@${IP} ${CMD} 74 Public 75 done 76 } 77 78 MAIN(){ 79 echo -n "Please select number: 80 1:Create New Server User; 81 2:Delete Old Server User; 82 3:Change Password For User; 83 4:Query User: 84 5:Linux Cmd: 85 Enter Number:" 86 read Num 87 88 case $Num in 89 1) 90 UserAdd 91 ;; 92 2) 93 DELETE 94 ;; 95 3) 96 UPDATE 97 ;; 98 4) 99 QUERY 100 ;; 101 5) 102 CMD 103 ;; 104 *) 105 ;; 106 esac 107 } 108 while [ 1 ] 109 do 110 MAIN 111 done