linux下useradd命令詳解linux
一、做用shell
useradd命令用來創建用戶賬號和建立用戶的起始目錄,使用權限是超級用戶bash
二、格式ide
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] nameui
usermod [-LU][-c <備註>][-d <登入目錄>][-e <有效期限>][- f <緩衝天數>][-g <羣組>][-G <羣組>][-l <賬號名稱>][-s ][-u ] [用戶賬號] spa
三、主要參數ci
-c:加上備註文字,備註文字保存在passwd的備註欄中。it
-d:指定用戶登入時的啓始目錄。io
-D:變動預設值。table
-e:指定帳號的有效期限,缺省表示永久有效。
-f:指定在密碼過時後多少天即關閉該帳號。
-g:指定用戶所屬的羣組。
-G:指定用戶所屬的附加羣組。
-m:自動創建用戶的登入目錄。
-M:不要自動創建用戶的登入目錄。
-n:取消創建以用戶名稱爲名的羣組。
-r:創建系統帳號。
-s:指定用戶登入後所使用的shell。
-u:指定用戶ID號。
四、說明
useradd可用來創建用戶帳號,它和adduser命令是相同的。帳號建好以後,再用passwd設定帳號的密碼。使用useradd命令所創建的帳號,其實是保存在/etc/passwd文本文件中。。
參數名 | 描述 |
---|---|
-u | 後面接UID,是一組數字。直接給這個帳號指定一個特定的UID。 |
-g | 後面接的用戶組名稱就是以前提到的初始用戶組。 該group ID(GID)會放置到 /etc/passwd 的第四個字段內。 |
-G | 後面接的用戶組名稱是這個帳號還能夠屬於哪些用戶組。 此參數會修改 /etc/group 內的相關數據。 |
-M | 強制不建立家目錄。 |
-m | 強制必須建立家目錄。 |
-c | 就是 /etc/passwd 第五欄的用戶說明信息,能夠隨便設置,各位隨意。 |
-d | 用此參數後面指定的路徑作爲新帳號的家目錄,而不使用默認值。 |
-r | 建立的帳號爲系統帳號:該帳號的UID會有限制(/etc/login.defs) |
-s | 指定新帳號的默認shell |
id 範圍 | ID 使用者特性 |
0(系統管理員) |
當 UID 是 0 時,表明這個賬號是‘系統管理員’! 因此當你要讓其餘的賬號名稱也具備 root 的權限時,將該賬號的 UID 改成 0 便可。 這也就是說,一部系統上面的系統管理員不見得只有 root 喔! 不過,很不建議有多個賬號的 UID 是 0 |
1~499(系統賬號) |
保留給系統使用的 ID,其實除了 0 以外,其餘的 UID 權限與特性並無不同。預設 500 如下的數字讓給系統做爲保留賬號只是一個習慣。 因爲系統上面啓動的服務但願使用較小的權限去運做,所以不但願使用 root 的身份去執行這些服務, 因此咱們就得要提供這些運做中程式的擁有者賬號才行。這些系統賬號一般是不可登入的, 因此纔會有咱們在第十一章提到的 /sbin/nologin 這個特殊的 shell 存在。 根據系統賬號的由來,一般系統賬號又約略被區分爲兩種: 1~99:由 distributions 自行創建的系統賬號; 100~499:若使用者有系統賬號需求時,可使用的賬號 UID。 |
500~65535(可登入賬號) | 給通常使用者用的。事實上,目前的 linux 核心 (2.6.x 版)已經能夠支援到 4294967295 (2^32-1) 這麼大的 UID 號碼! |
範例一:徹底參考預設值創建一個使用者,名稱爲 vbird1
[root@www ~]# useradd vbird1
[root@www ~]# ll -d /home/vbird1
drwx------ 4 vbird1 vbird1 4096 Feb 25 09:38 /home/vbird1
# 預設會創建使用者家目錄,且權限爲 700 !這是重點!
[root@www ~]# grep vbird1 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird1:x:504:505::/home/vbird1:/bin/bash
/etc/shadow:vbird1:!!:14300:0:99999:7:::
/etc/group:vbird1:x:505: <==預設會創建一個與賬號如出一轍的羣組名
範例二:假設我已知道個人系統當中有個羣組名稱爲 users ,且 UID 700 並不存在,
請用 users 爲初始羣組,以及 uid 爲 700 來創建一個名爲 vbird2 的賬號
[root@www ~]# useradd -u 700 -g users vbird2
[root@www ~]# ll -d /home/vbird2
drwx------ 4 vbird2 users 4096 Feb 25 09:59 /home/vbird2
[root@www ~]# grep vbird2 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird2:x:700:100::/home/vbird2:/bin/bash
/etc/shadow:vbird2:!!:14300:0:99999:7:::
# 看一下,UID 與 initial group 確實改變成咱們須要的了!
範例三:創建一個系統賬號,名稱爲 vbird3
[root@www ~]# useradd -r vbird3
[root@www ~]# ll -d /home/vbird3
ls: /home/vbird3: No such file or directory <==不會主動創建家目錄
[root@www ~]# grep vbird3 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird3:x:100:103::/home/vbird3:/bin/bash
/etc/shadow:vbird3:!!:14300::::::
/etc/group:vbird3:x:103: