萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> linux系統中使用adduser與useradd命令批量添加用戶

linux系統中使用adduser與useradd命令批量添加用戶

  adduser - 添加用戶賬號,與useradd是同一命令。需要root權限才能執行(有root權限)。 在使用adduser命令時,它會添加這個名,並創建和用戶名名稱相同的組名,並把這個用戶名添加到自己的組裡去,並在/home目錄想創建和用戶名同名的目錄,並拷貝/etc/skel目錄下的內容到/home/用戶名/的目錄下,並提示輸入密碼,並提示填寫相關這個用戶名的信息。

  在使用命令useradd時,它會添加這個用戶名,並創建和用戶名相同的組名,但它並不在/home目錄下創建基於用戶名的目錄,也不提示創建新的密碼。

  root@xxx:/xxx# useradd myadmin # 創建普通用戶myadmin

  用useradd命令創建的是一個普通用戶,不能用這個用戶名來登陸系統。

  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@liu:/home/liu/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)批量添加的腳本文件

  ##添加用戶,並且在/home/ 下為用戶生成用戶目錄。

  cat < username.txt | xargs -n 1 useradd -m

  ##批處理模式下更新密碼

  chpasswd < serc.txt

  ##將上述的密碼轉換到密碼文件和組文件

  pwconv

  ##結束驗證信息

  echo "OK 新建完成"

  (4)執行該腳本文件,查看執行過程

  root@liu:/home/liu/Desktop/Dos# sh aa.sh

  新建完成

  useradd命令,在執行沒有出錯的情況下,不會輸出任何的信息,不會與用戶交互。但是用戶必須要記住那些設置項目,否則添加的用戶可能出現一些預想不到的結果。

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

copyright © 萬盛學電腦網 all rights reserved