linux下useradd命令詳解
1、作用
useradd命令用來建立用戶帳號和創建用戶的起始目錄,使用權限是超級用戶
2、格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
usermod [-LU][-c <備註>][-d <登入目錄>][-e <有效期限>][- f <緩衝天數>][-g <羣組>][-G <羣組>][-l <帳號名稱>][-s ][-u ] [用戶帳號]
3、主要參數
-c:加上備註文字,備註文字保存在passwd的備註欄中。
-d:指定用戶登入時的啓始目錄。
-D:變更預設值。
-e:指定賬號的有效期限,缺省表示永久有效。
-f:指定在密碼過期後多少天即關閉該賬號。
-g:指定用戶所屬的羣組。
-G:指定用戶所屬的附加羣組。
-m:自動建立用戶的登入目錄。
-M:不要自動建立用戶的登入目錄。
-n:取消建立以用戶名稱爲名的羣組。
-r:建立系統賬號。
-s:指定用戶登入後所使用的shell。
-u:指定用戶ID號。
4、說明
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: