批量創建Linux用戶賬號

shell腳本用於批量創建Linux用戶賬號並加入羣組

使用環境:在windows中使用Excel編輯好賬號、羣組,使用Xmanager或其它方式上傳至Linux系統,然後使用sh運行該腳本即可。

1. 使用excel準備賬號羣組文件,A欄爲賬號名,B欄爲其加入的羣組名:

2. 將其另存爲:adduser.txt(默認使用ANSI編碼方式)

3. 使用xmanager等工具將adduser.txt上傳至Linux系統中(以/tmp/script/爲例)。

4. 預先創建相應羣組:

[root@LKCentOS ~]#groupadd group100

[root@LKCentOS ~]#groupadd group200

[root@LKCentOS ~]#groupadd group300

[root@LKCentOS ~]#groupadd group400

(以上也可用script完成)

5. 製作以下script,存爲adduser.sh,並在root下運行sh adduser.sh:

#!/bin/bash

#Program:

# This program shows how to create accounts using a text file which include a lot of accounts and groups,etc.

#History:

#2011/11/20 LuoKun V1.0

#If you have any questions or suggestions,please write to [email protected].

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

# grep -v '^$' /tmp/script/adduser.txt 將空白行過濾掉;tr -d '\r'去除 DOS 檔案留下來的 ^M 斷行的符號。;awk '{print $1}'將adduser.txt第一欄(賬號)取出。

usernames=$(grep -v '^$' /tmp/script/adduser.txt|tr -d '\r'|awk '{print $1}')

i=0

for username in $usernames

do

#根據$i將adduser.txt中每個賬號對應的羣組名取出。

      i=$((i+1))

      groupname=$(grep -v '^$' /tmp/script/adduser.txt|tr -d '\r'|awk '{print $1}'|sed -n "${i}p")

#將賬號後面的羣組設置爲初始羣組。

      useradd $username -g $groupname

#將每個賬號密碼都設置成P@ssw0rd,並強制下次登錄時修改密碼。

      echo "P@ssw0rd"|passwd --stdin $username

      chage -d 0 $username

      echo $username "has been created!"

done

 

6. 驗證:

1) 羣組:

2) 賬號

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章