如添加user1、user2……user50,具體多少個可以使用交互方式輸入,用戶前綴也使用交互方式輸入:
#!/bin/bash
##批量添加用戶腳本##
##交互方式讀取用戶前綴和用戶數##
##密碼也采用交互輸入,用戶密碼為密碼前綴+用戶序號
##作者:Barlow##
##最後修改時間:2013-3-18##
#
#建立用戶
echo "Please input username:"
read name
echo "Please input number of users:"
read num
n=1
while [ $n -le $num ]
do
/usr/sbin/useradd $name$n > /dev/null
##這裡也可以將新建用戶加入某個組,如sshd組以讓其可以使用ssh登錄
/usr/sbin/usermod -G sshd $name$n
n=`expr $n + 1`
done
# 修改密碼
echo "Please input the password:"
read passwd
m=1
while [ $m -le $num ]
do
echo $passwd$m | /usr/bin/passwd --stdin $name$m > /dev/null
m=`expr $m + 1`
done
exit
如果對於完全沒有規律可言的用戶,如要為研發部門集中在某台服務器上添加賬號,賬號為每個用戶的全拼,則可以將這些用戶的賬號放入一個具體的文件中,用less讀取並建立,具體腳本如下:
#!/bin/bash
##批量添加用戶腳本##
##從用戶列表文件$1中讀取用戶名並建立##
##設定所有用戶的密碼為用戶名+888##
##作者:Barlow##
##最後修改時間:2013-3-18##
#
for user in `less $1`
do
/usr/sbin/useradd $user
##這裡也可以將新建用戶加入某個組,如sshd組以讓其可以使用ssh登錄
/usr/sbin/usermod -G sshd $name$n
#修改密碼
echo $user"888" | /usr/bin/passwd --stdin $user
done
exit
執行時,後面跟的參數為用戶列表文件,如:
sh useradd.sh user_list.txt