首頁 > 軟體

Linux下使用adduser與useradd命令批次新增使用者

2020-06-16 17:21:10

在Linux下新增使用者的命令有 adduser與useradd ,這兩個命令有些不同 。下面結合批次新增使用者來說明。

一.adduser批次新增使用者

      使用adduser時,建立使用者的過程更像是一種人機對話,系統會提示你輸入各種資訊,然後會根據這些資訊幫你建立新使用者。這樣我們沒有必要知道那麼多的引數,一樣可以達到自定義新增使用者。

  步驟如下:

  (1)建立使用者名稱列表檔案username.txt  

 stu1
 stu2
 stu3
 stu4
 stu5
 stu6

  (2)批次新增的指令碼檔案  

###在這裡也可以設定使用者所屬的使用者組
for a
do
    echo "/home/student/$a"
    adduser --home /home/student/$a $a
done

      (3)執行該指令碼檔案,檢視執行過程

root@linuxidc:/home/linuxidc/Desktop/Dos# sh t.sh `cat < username.txt`
/home/student/stu1
Adding user `stu1' ...
Adding new group `stu1' (1002) ...
Adding new user `stu1' (1001) with group `stu1' ...
Creating home directory `/home/student/stu1' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for stu1
Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? [Y/n]

可見,在執行的過程中,系統互動式的詢問,每個使用者的設定資訊。雖然簡化了新建使用者的程式,但是在批次新增使用者的過程中是不可取的。

二.useradd批次新增使用者

   使用useradd時,如果後面不新增任何引數選項,例如:#sudo useradd test建立出來的使用者將是預設“三無”使用者:一無Home Directory,二無密碼,三無系統Shell。

  步驟如下:

  (1)建立使用者名稱列表檔案username.txt (同上)

  (2)建立使用者密碼對應檔案serc.txt,格式為username:password (注意檔案的格式)   

stu1:tt1
stu2:tt2
stu3:tt3
stu4:tt4
stu5:tt5
stu6:tt6

   (3)批次新增的指令碼檔案aa.sh

##新增使用者,並且在/home/ 下為使用者生成使用者目錄。
cat < username.txt | xargs -n 1 useradd -m
##批次處理模式下更新密碼
chpasswd < serc.txt
##將上述的密碼轉換到密碼檔案和組檔案
pwconv
##結束驗證資訊
echo "OK 新建完成"

(4)執行該指令碼檔案,檢視執行過程

root@linuxidc:/home/linuxidc/Desktop/Dos# sh aa.sh
新建完成

        useradd命令,在執行沒有出錯的情況下,不會輸出任何的資訊,不會與使用者互動。但是使用者必須要記住那些設定專案,否則新增的使用者可能出現一些預想不到的結果。

        總結上來講,在Ubuntu中,adduser更適合初級使用者,因為不用去記那些繁瑣的引數選項,只要跟著系統的提示一步一步進行下去就行,缺點就是整 個建立過程比較複雜而漫長;而useradd比較適合有些高階經驗的使用者,往往一行命令加引數就能解決很多問題,所以建立起來十分方便。

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-02/140793.htm


IT145.com E-mail:sddin#qq.com