useradd#
useradd 是包含在 shadow-utils 內的使用者帳號建立工具
useradd 是一個用於在 Linux 系統中建立新使用者或更新預設新使用者資訊的低階指令。它會根據指令參數修改
/etc/passwd、/etc/shadow與/etc/group等系統檔案。與高階的adduser互動式指令不同,useradd預設不會建立家目錄或設定密碼,除非明確指定參數,因此更適合用於自動化腳本。
Install#
$ sudo apt install passwdSetting in up#
Operate#
sudo useradd [options] [username]
| 參數 | 範例指令 | 說明 |
|---|---|---|
-m | sudo useradd -m john | 建立家目錄。在 /home 下建立與使用者同名的目錄。 |
-g | sudo useradd -g users john | 指定主要群組。將使用者加入一個已存在的群組。 |
-G | sudo useradd -G sudo,docker john | 指定附加群組。將使用者加入多個額外的次要群組。 |
-s | sudo useradd -s /bin/bash john | 指定登入 Shell。設定使用者登入後預設使用的 Shell(如 /bin/bash)。 |
-u | sudo useradd -u 1500 john | 指定 UID。手動設定使用者的唯一識別碼 (User ID)。 |
-e | sudo useradd -e 2025-12-31 john | 帳號過期日。設定帳號自動失效的日期。 |
-r | sudo useradd -r mysql | 建立系統帳號。建立一個沒有家目錄且 UID 較小的系統級帳號。 |
| 檔案路徑 | 功能說明 | 詳細解釋 |
|---|---|---|
/etc/passwd | 使用者資訊庫 | 儲存使用者名稱、UID、GID、家目錄路徑與預設 Shell。 |
/etc/shadow | 密碼資訊庫 | 儲存加密後的密碼以及帳號有效期限等安全相關資訊。 |
/etc/group | 群組資訊庫 | 定義系統中的群組以及各群組包含哪些成員。 |
/etc/default/useradd | 預設值設定 | 定義在使用 useradd 時,若未指定參數所採用的預設值。 |
/etc/skel/ | 範本目錄 | 新家目錄建立時,會從此處複製初始設定檔(如 .bashrc)。 |
Reference#
Official docs: