Debian

我應該使用 useradd 還是 adduser?

  • November 6, 2018

我正在嘗試向系統添加一個新使用者。我對執行哪個命令感到困惑:useraddadduser

根據手冊,您應該使用adduser

人使用者添加

描述

useradd 是用於添加使用者的低級實用程序。在 Debian 上,管理員通常應該使用 adduser(8)。

儘管手冊頁上說useraddand userdel,我總是使用低級後端二進製文件:useradd, userdel, groupadd, groupdel.

前端腳本是互動式的,並且是使用者友好的,但做同樣的事情。這真的是個人喜好的問題。

在實際差異方面:

useradd並且與命令和有groupadd類似的選項,並且這些命令沒有前端腳本(即沒有或前端腳本),因此使用類似命令進行帳戶維護更加一致。usermod``groupmod``moduser``modgroup

預設設置有不同的配置文件,例如使用者 ID、shell、登錄組等。因此,請確保您知道要編輯哪一個以更改設置。

--force-badname除非您提供選項,否則前端腳本會“保護”您免於輸入愚蠢的名稱。例如,包含特殊字元或以數字開頭的使用者名或組名。這是不太可能意外發生的事情,因此不需要“保護”。

前端腳本還“保護”您免於刪除 root 帳戶,除非您使用--force option. 為什麼有人會嘗試使用它,我不知道。還值得指出的是,如果使用者帳戶下有正在執行的程序,則無法刪除該使用者帳戶,並且始終有程序以 root 身份執行,因此無論如何這都會失敗。

(然而,我從來沒有勇氣嘗試。)

只有前端腳本 adduser 具有加密主目錄的選項。

然而,有一些友好的腳本不能做的事情,你需要求助於二進制命令,儘管這些是你通常不需要做的事情:

  • useradd 可以覆蓋骨架主目錄的預設值,無需編輯配置文件,或創建新的配置文件。查看-k選項。
  • useradd 可以通過選項阻止將新創建的使用者添加到 lastlog 數據庫中-l
  • -ouseradd 和 groupadd 可以使用該選項分別創建具有非唯一 UID 或 GID 的帳戶。腳本不提供此功能。
  • useradd 可以使用 selinux 映射創建新使用者,如果系統上啟用了 selinux,則帶有-Z選項。但是,這也可以在創建帳戶後使用其他命令來完成,例如semanageusermod
  • 最後,也許最重要的是,只有二進制命令才能在備用根目錄下的備用系統上執行,例如/snap/core,使用該-R選項。

引用自:https://unix.stackexchange.com/questions/75921