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