useradd

創建的新的系統用戶

補充說明

useradd命令 用於Linux中創建的新的系統用戶。useradd可用來建立用戶帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是保存在/etc/passwd文本文件中。

在Slackware中,adduser指令是個script程序,利用交談的方式取得輸入的用戶帳號資料,然後再交由真正建立帳號的useradd命令建立新用戶,如此可方便管理員建立用戶帳號。在Red Hat Linux中, adduser命令 則是useradd命令的符號連接,兩者實際上是同一個指令。

語法

1useradd(選項)(參數)

選項

 1-b, --base-dir BASE_DIR  # 如果未指定 -d HOME_DIR,則系統的默認基本目錄。如果未指定此選項,useradd 將使用 /etc/default/useradd 中的 HOME 變量指定的基本目錄,或默認使用 /home。
 2-c, --comment COMMENT    # 加上備註文字。任何文本字符串。它通常是對登錄名的簡短描述,目前用作用戶全名的字段。
 3-d, --home HOME_DIR      # 將使用 HOME_DIR 作爲用戶登錄目錄的值來創建新用戶。 
 4-D, --defaults           # 變更預設值。
 5-e, --expiredate EXPIRE_DATE # 用戶帳戶將被禁用的日期。 日期以 YYYY-MM-DD 格式指定。
 6-f, --inactive INACTIVE      # 密碼過期後到帳戶被永久禁用的天數。
 7-g, --gid GROUP   # 用戶初始登錄組的組名或編號。組名必須存在。組號必須引用已經存在的組。
 8-G, --groups GROUP1[,GROUP2,...[,GROUPN]]] # 用戶也是其成員的補充組列表。每個組用逗號隔開,中間沒有空格。
 9-h, --help # 顯示幫助信息並退出。
10-k, --skel SKEL_DIR # 骨架目錄,其中包含要在用戶的主目錄中複製的文件和目錄,當主目錄由 useradd 創建時。
11-K, --key KEY=VALUE # 覆蓋 /etc/login.defs 默認值(UID_MIN、UID_MAX、UMASK、PASS_MAX_DAYS 等)。
12-l, --no-log-init   # 不要將用戶添加到 lastlog 和 faillog 數據庫。
13-m, --create-home   # 如果用戶的主目錄不存在,則創建它。
14-M                  # 不要創建用戶的主目錄,即使 /etc/login.defs (CREATE_HOME) 中的系統範圍設置設置爲 yes。
15-N, --no-user-group # 不要創建與用戶同名的組,而是將用戶添加到由 -g 選項或 /etc/default/useradd 中的 GROUP 變量指定的組中。
16-o, --non-unique    # 允許創建具有重複(非唯一)UID 的用戶帳戶。 此選項僅在與 -o 選項結合使用時有效。
17-p, --password PASSWORD # crypt(3) 返回的加密密碼。 默認是禁用密碼。
18-r, --system        # 創建一個系統帳戶。
19-s, --shell SHELL   # 用戶登錄 shell 的名稱。
20-u, --uid UID       # 用戶 ID 的數值。
21-U, --user-group    # 創建一個與用戶同名的組,並將用戶添加到該組。
22-Z, --selinux-user SEUSER # 用戶登錄的 SELinux 用戶。 默認情況下將此字段留空,這會導致系統選擇默認的 SELinux 用戶。
23
24# 更改默認值
25# 當僅使用 -D 選項調用時,useradd 將顯示當前默認值。 當使用 -D 和其他選項調用時,useradd 將更新指定選項的默認值。 有效的默認更改選項是:

參數

用戶名:要創建的用戶名。

退出值

useradd 命令以以下值退出:

 10 成功
 21 無法更新密碼文件
 32 無效的命令語法
 43 選項的無效參數
 54 UID 已經在使用(並且沒有 -o)
 66 指定的組不存在
 79 用戶名已被使用
 810 無法更新組文件
 912 無法創建主目錄
1013 無法創建郵件假脫機
1114 無法更新 SELinux 用戶映射

文件

1/etc/passwd # 用戶帳戶信息。
2/etc/shadow # 保護用戶帳戶信息。
3/etc/group  # 組帳戶信息。
4/etc/gshadow # 保護組帳戶信息。
5/etc/default/useradd # 帳戶創建的默認值。
6/etc/skel/                                 # 包含默認文件的目錄。
7/etc/login.defs # 影子密碼套件配置。

實例

新建用戶加入組:

1useradd –g sales jack –G company,employees    # -g:加入主要組、-G:加入次要組

建立一個新用戶賬戶,並設置ID:

1useradd caojh -u 544

需要說明的是,設定ID值時儘量要大於500,以免衝突。因爲Linux安裝後會建立一些特殊用戶,一般0到499之間的值留給bin、mail這樣的系統賬號。

新建一個普通用戶:

1useradd lutixia

新建一個系統用戶,系統用戶一般用於管理服務,無需登錄,所以分配nologin,限制其登錄系統:

1useradd -r -s /sbin/nologin mq

修改創建用戶的默認參數,設置密碼過期後到永久禁用的不活動時間爲30天:

1useradd -D -f 30

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: