天天看點

linux使用者管理指令:adduser

作者:雲中漫步

摘要

adduser是一個指令行實用程式,用于在 Linux 系統中建立新使用者。

它是更低一級的指令行工具“ useradd ”的友好封裝。

添加新使用者時,adduser還會在/home目錄下建立使用者目錄。

adduser 指令的工作原理

adduser 的預設配置檔案是/etc/adduser.conf。

adduser 指令将新使用者的詳細資訊添加到以下檔案中。

/etc/passwd - 它存儲使用者帳戶資訊。
/etc/shadow - 它包含使用者的密碼資訊。密碼以加密格式存儲。
/etc/group - 它存儲組資訊。           

使用 adduser 指令示例

linux使用者可以使用adduser指令在Linux系統中添加普通使用者、系統使用者或使用者組。

需要注意的是,隻有具有 root 權限的使用者才能将使用者添加到系統中。

是以,需要以 root 使用者身份登入或使用sudo來執行adduser指令。

adduser指令文法:

$ sudo adduser [選項] 使用者名           

1. adduser 指令添加新使用者

使用此指令可以向系統添加新使用者。執行指令後,需要為新使用者設定一些基本資訊,主要為密碼。

預設情況下,新建立的使用者都得到一個同名的組。

建立完之後,/etc/password會增加一行,包含以下資訊:

使用者名:password:userID:groupID:comment:user_directory:shell

使用者名:這是使用者的登入名。使用者名應介于 1-32 個字元之間。
password:它包含加密格式 ( x ) 的使用者密碼。
userID: 每個使用者都有一個唯一的使用者辨別号(UID)。1001是deepak的使用者 ID 。
groupID: 顯示使用者的主要組 ID。1001是 deepak的主要組 ID 。
使用者詳細資訊: 在兩個冒号之間,如果添加,将顯示一個GECOS或使用者的評論。
user_directory:使用者的主目錄。預設位置是 / home目錄。
shell: 使用者的登入 shell。預設登入 shell 是/bin/bash。           

2. 使用adduser指令添加系統使用者

可以使用帶有指令的--system選項添加新的系統使用者。

$ sudo adduser --system 使用者           

系統使用者和普通使用者有何差別:

  • 從技術角度來說,兩者沒有實質性的差別。兩者最大的差別在于意義上的差別。
  • 系統用于執行daemon程式,service,或者其他系統軟體。普通使用者更多的用于互動。
  • adduser預設情況下,為普通使用者建立目錄:/home/user,而系統使用者不會建立此目錄。
  • 系統使用者不能用于登入。
  • 系統使用者的id介于:SYS_UID_MIN-SYS_UID_MAX,一般小于一千。

3. adduser指令建立使用者組

--group選項允許在系統中建立新的使用者組。該組是在沒有任何使用者的情況下建立的。

$ sudo adduser --group 組           

4.使用adduser指令添加系統組

可以把--system和--group選項一起使用,進而在系統中建立一個系統組。還會建立具有相同組名的系統使用者。

$ sudo adduser --system --group 組           

5. adduser 指令在不同的主組中添加一個新使用者

adduser指令為新使用者建立一個同名的組,并将使用者加入此組。如果想将使用者加入指定的已經存在的組,我們可以使用--ingroup選項。該組必須已經存在于系統中。

$ sudo adduser --ingroup 組 使用者           

6. 建立使用者指定home目錄

預設情況下,adduser指令為新使用者在/home目錄下建立使用者同名的檔案夾作為使用者的home檔案夾。我們可以通過--home選項為使用者指定不同的home檔案夾。

$ sudo adduser --home /directory/home_dir_name user            

7. 建立一個沒有home目錄的使用者

參見前文,adduser會為普通使用者建立一個home/user目錄,作為使用者目錄。參數--no-create-home則不會建立目錄。

$ sudo adduser --no-create-home user           

8. adduser建立使用者指定user ID

linux系統中每個使用者都有唯一user ID。預設情況下,adduser指令為新使用者配置設定下一個可用的id作為使用者id。我們可以通過 -u 或者 --uid 指定使用者id。

$ sudo adduser -u userID user
OR
$ sudo adduser --uid userID user           

9. adduser指令建立使用者并指定group ID

前文我們用 adduser 指令建立了一個具有使用者名作為組名的新組并将使用者添加到該組。要将使用者添加到不同的組,我們可以使用--gid選項。該組應該已經存在于系統中。

$sudo adduser --gid groupID user           

10. adduser 指令添加一個帶有自定義登入shell的使用者

adduser 指令選擇 /etc/adduser.conf 中 DSHELL 變量指定的shell作為使用者預設登入shell 。

linux預設登入 shell 是/bin/bash。

要指定不同的登入 shell,我們可以使用--shell選項。

$ sudo adduser --shell SHELL 使用者

$ sudo adduser --shell /bin/sh testUser           

11. 使用 adduser 指令将現有使用者添加到現有組

adduser除了可以添加新使用者,還可以使用改指令将現有使用者添加到系統中的其他組。

$ sudo adduser 使用者 組
$ sudo adduser testUser testGroup           

12. adduser 指令建立一個禁用登入的使用者

--disabled-login選項不要求為新使用者設定密碼。在設定密碼之前,使用者将無法使用該帳戶。

$ sudo adduser --disabled-login 使用者           

我們可以使用passwd指令設定或更改Linux系統中的使用者密碼。

ubuntu@golinux:~$ sudo passwd testUser
New password: 
Retype new password: 
passwd: password updated successfully           

13.使用adduser指令建立無密碼使用者

使用參數 --disabled-password添加使用者時,不會要求設定密碼。它類似于上面的指令--disabled-login。

$ sudo adduser --disabled-password 使用者           

14. adduser 指令建立一個帶有 GECOS 或評論的使用者

GECOS 或者comment 字段通常用于儲存使用者相關描述資訊。

在建立使用者時,我們可以使用--gecos 設定GECOS 或者comment資訊。

$ sudo adduser --gecos GECOS user           

15. adduser指令列印debug日志

我們可以使用--debug 選項以詳細模式列印資訊。它在調試 adduser 時很有用。

$sudo adduser --debug 使用者           

16. 使用 adduser 指令隐藏資訊性消息

--quiet選項隐藏輸出中的資訊性消息。它不會隐藏警告和錯誤。

$ sudo adduser --quiet 使用者           

查缺補漏:adduser與useradd

useradd是 Linux 中用于向系統添加新使用者的簡單指令行工具。adduser是對useradd的封裝,更加易于使用。

下一篇: 哈希表詳解

繼續閱讀