用戶和組帳戶
本節(jié)介紹初級管理(LPIC-1)考試 102 的 1.111.1 主題的內(nèi)容。這個主題的權(quán)值為 4。
在本節(jié)中,我們將學(xué)習(xí)如何:
- 添加、修改和刪除用戶和組
- 終止和修改用戶帳戶
- 管理密碼數(shù)據(jù)庫和組數(shù)據(jù)庫中的用戶和組信息
- 使用正確的工具管理影子密碼數(shù)據(jù)庫和組數(shù)據(jù)庫
- 創(chuàng)建和管理受限制的和用于特殊用途的帳戶
正如在 “LPI 101 考試準(zhǔn)備(主題 104):設(shè)備、Linux 文件系統(tǒng)和文件系統(tǒng)層次標(biāo)準(zhǔn)” 中學(xué)到的,Linux 是一種多用戶系統(tǒng),Linux 上的每個用戶屬于一個主 組,還可能屬于其他組。在 Linux 中,文件的所有權(quán)與用戶 id 和組密切相關(guān)。注意,可以作為一個用戶登錄,然后使用 su 或 sudo -s 變成另一個用戶,然后可以使用 whoami 命令檢查當(dāng)前的有效 id,使用 groups 命令了解當(dāng)前用戶所屬的組。在本節(jié)中,學(xué)習(xí)如何創(chuàng)建、刪除和管理用戶和組。還要了解 /etc 中的文件,這個目錄中存儲用戶和組信息。
添加和刪除用戶和組
使用 useradd 命令在 Linux 系統(tǒng)中添加用戶,使用 userdel 命令刪除用戶。與此相似,分別使用 groupadd 和 groupdel 命令添加和刪除組。
添加用戶或組
現(xiàn)代的 Linux 桌面往往為用戶和組管理提供了圖形界面。常常可以通過用于系統(tǒng)管理的菜單項訪問這些圖形界面。這些界面的差異相當(dāng)大,所以您系統(tǒng)上的界面可能與這里的示例不一樣,但是底層概念和命令是相似的。
首先,以圖形化方式在 Fedora Core 5 系統(tǒng)中添加一個用戶,然后查看底層命令。對于使用 GNOME 桌面的 Fedora Core 5,使用 System > Administration > Users and Groups,然后單擊 Add User 按鈕。
圖 1 顯示 User Manager 面板和 Create New User 面板,其中顯示了新用戶 ‘john’ 的基本信息。已經(jīng)輸入了用戶的完整姓名(John Doe)和密碼。面板指定默認(rèn)的登錄 shell 為 /bin/bash。在 Fedora 系統(tǒng)上,默認(rèn)行為是創(chuàng)建一個與這個用戶同名(在這個示例中是 ‘john’)的新組和主目錄 /home/john。
圖 1. 添加用戶
清單 1 顯示如何使用 id 命令顯示這個新用戶的基本信息。可以看到,john 的用戶編號是 503,他與 john 組(組編號為 503)相關(guān)聯(lián)。這是 john 所屬的惟一一個組。
清單 1. 顯示用戶 id 信息
[root@pinguino ~]# id john
uid=503(john) gid=503(john) groups=503(john)
|
要想從命令行完成同樣的任務(wù),應(yīng)該使用 groupadd 和 useradd 創(chuàng)建組和用戶,然后使用 passwd 命令為新創(chuàng)建的用戶設(shè)置密碼。這些命令都需要根權(quán)限。清單 2 使用這些命令添加另一個用戶 jane。
清單 2. 添加用戶 jane
[root@pinguino ~]# groupadd jane
[root@pinguino ~]# useradd -c "Jane Doe" -g jane -m jane
[root@pinguino ~]# passwd jane
Changing password for user jane.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@pinguino ~]# id jane
uid=504(jane) gid=504(jane) groups=504(jane)
[root@pinguino ~]# ls -ld /home/jane
drwx------ 3 jane jane 4096 Jun 25 18:22 /home/jane
|
在這兩個示例中,用戶 id 和組 id 的值都大于 500。請注意,一些比較新的系統(tǒng)的用戶 id 從 1000 開始編號,而不是從 500 開始。這些值通常表示普通用戶,500(對于從 1000 開始普通用戶編號的系統(tǒng),是 1000)以下的值是為系統(tǒng)用戶 保留的。本節(jié)后面將討論 系統(tǒng)用戶。實際的分界點是在 /etc/login.defs 中作為 UID_MIN 和 GID_MIN 設(shè)置的。
在上面的清單 2 中,groupadd 命令接受一個參數(shù) jane ,這是要添加的組的名稱。組名必須以小寫字母或下劃線開頭,通常只包含小寫字母、下劃線和連字符或破折號。可以指定的選項見表 3。
表 3. groupadd 的選項
選項 |
用途 |
-f |
如果這個組已經(jīng)存在,那么以成功狀態(tài)退出。這對于腳本編程很方便,這樣就不需要在嘗試創(chuàng)建一個組之前檢查它是否存在。 |
-g |
手工指定組 id。默認(rèn)行為是使用大于等于 GID_MIN 并大于現(xiàn)有的任何組 id 的最小值。組 id 通常是惟一的,而且必須是非負(fù)的。 |
-o |
允許組具有非惟一的 id。 |
-K |
可以用來覆蓋來自 /etc/login.defs 的默認(rèn)設(shè)置。 |
在上面的清單 2 中,useradd 命令接受一個參數(shù) jane ,這是要添加的用戶的名稱,還指定了 -c 、-g 和 -m 選項。useradd 命令的常用選項見表 4。
表 4. useradd 的選項
選項 |
用途 |
-b --base-dir |
創(chuàng)建用戶主目錄的默認(rèn)基目錄。這常常是 /home,用戶的主目錄是 /home/$USER。 |
-c --comment |
描述 id 的文本字符串,比如用戶的完整姓名。 |
-d --home |
為主目錄指定目錄名。 |
-e --expiredate |
帳戶將過期或禁用的日期,采用的形式是 YYYY-MM_DD。 |
-g --gid |
用戶的初始登錄組的名稱或編號。這個組必須已經(jīng)存在,所以在清單 2 中先創(chuàng)建 jane 組,然后再創(chuàng)建 jane 用戶。 |
-G --groups |
用戶所屬的其他組的列表(以逗號分隔)。 |
-K |
可以用來覆蓋來自 /etc/login.defs 的默認(rèn)設(shè)置。 |
-m --create-home |
如果用戶的主目錄不存在,就創(chuàng)建它。將 /etc/skel 中的骨架文件和所有目錄復(fù)制到主目錄。 |
-o --non-unique |
允許用戶具有非惟一的 id。 |
-p --password |
加密的密碼。如果沒有指定密碼,默認(rèn)行為是禁用帳戶。通常會在后續(xù)步驟中使用 passwd 命令,而不是生成加密的密碼并在 useradd 命令中指定它。 |
-s --shell |
如果用戶的登錄 shell 不是默認(rèn)的登錄 shell,那么可以用這個選項指定用戶的登錄 shell 的名稱。 |
-u --uid |
非負(fù)的數(shù)字用戶 id;如果沒有指定 -o 選項,那么用戶 id 必須是惟一的。默認(rèn)行為是使用大于等于 UID_MIN 并大于現(xiàn)有的任何用戶 id 的最小值。 |
注意:
- 一些系統(tǒng)(包括 Fedora 和 Red Hat 發(fā)行版)對創(chuàng)建用戶命令提供了擴(kuò)展。例如,默認(rèn)的 Fedora 和 Red Hat 行為是為一個用戶創(chuàng)建一個新組,可以在
useradd 命令中使用 -n 選項來禁用這個功能。應(yīng)該了解這些系統(tǒng)差異,如果有疑問,應(yīng)該參考系統(tǒng)上的手冊頁。
- 在 SUSE 系統(tǒng)上,使用 YaST 或 YaST2 訪問用戶和組管理圖形界面。
- 圖形界面可能會執(zhí)行其他任務(wù),比如在 /var/spool/mail 中創(chuàng)建用戶的郵件文件。
刪除用戶或組
與添加用戶或組相比,刪除用戶或組要簡單得多,因為選項更少。實際上,用來刪除組的 groupdel 命令只需要組名;它沒有選項。不能刪除任何用戶的主組。如果使用圖形界面刪除用戶或組,其功能與這里顯示的命令非常相似。
使用 userdel 命令刪除用戶。-r 或 --remove 選項請求同時刪除用戶的主目錄以及其中包含的任何內(nèi)容,還刪除用戶的郵件 spool。如果在 /etc/login.defs 中還設(shè)置了 USERGROUPS_ENAB 為 yes,那么在刪除用戶時,還會刪除與用戶同名的組,但這個組必須不是另一個用戶的主組。
在清單 3 中可以看到一個刪除組的示例,在這里有多個用戶共享同一個主組。之前已經(jīng)在系統(tǒng)中添加了另一個用戶 jane2,他的組與 jane 相同。
清單 3. 刪除用戶和組
root@pinguino:~# groupdel jane
groupdel: cannot remove user‘s primary group.
root@pinguino:~# userdel -r jane
userdel: Cannot remove group jane which is a primary group for another user.
root@pinguino:~# userdel -r jane2
root@pinguino:~# groupdel jane
|
注意:
- 有一個
userdel 選項 -f 或 --force ,可以使用它同時刪除用戶和他們的組。這個選項很危險,只應(yīng)該作為最后的手段。執(zhí)行此操作之前,請仔細(xì)閱讀手冊頁。
- 注意,如果刪除用戶或組,而且文件系統(tǒng)上有屬于這個用戶或組的文件,那么這些文件不會自動地刪除或分配給另一個用戶或組。
終止和修改帳戶
您現(xiàn)在可以創(chuàng)建或刪除用戶 id 或組,還可能需要修改它們。
修改用戶帳戶
假設(shè)用戶 john 希望用 tcsh shell 作為默認(rèn) shell。常??梢栽趫D形界面中找到編輯用戶(或組)的方法,或者查看對象屬性的方法。圖 2 是 Fedora Core 5 系統(tǒng)上用戶 john 的屬性對話框。
圖 2. 修改用戶帳戶
在命令行上可以使用 usermod 命令修改用戶帳戶。可以使用 useradd 的大多數(shù)選項,但是不能為這個用戶創(chuàng)建或填充新的主目錄。如果需要修改用戶名,那么指定 -l 或 --login 選項并加上新名稱。可能希望修改主目錄名稱來匹配用戶 id。還可能需要修改其他項目的名稱,比如電子郵件 spool 文件。如果修改登錄 shell,那么可能需要修改一些相關(guān)聯(lián)的配置文件。清單 4 將用戶 john 改為 john2,將 /bin/tcsh 設(shè)置為默認(rèn) shell,并將主目錄重命名為 /home/john2。
清單 4. 修改用戶
[root@pinguino ~]# usermod -l john2 -s /bin/tcsh -d /home/john2 john
[root@pinguino ~]# ls -d ~john2
ls: /home/john2: No such file or directory
[root@pinguino ~]# mv /home/john /home/john2
[root@pinguino ~]# ls -d ~john2
/home/john2
|
注意:
- 如果需要修改用戶的其他組,那么必須指定其他組的完整列表。沒有命令只為用戶添加或刪除一個組。
- 如果一個用戶已經(jīng)登錄,或者他有正在運(yùn)行的進(jìn)程,那么對修改他的名稱或 id 有一些限制。詳情請查閱手冊頁。
- 如果修改一個用戶的編號,可能希望修改他擁有的文件和目錄來匹配這個新編號。
修改組
使用 groupmod 修改組信息。用 -g 選項修改組編號,用 -n 選項修改名稱。
清單 5. 修改組名稱
[root@pinguino ~]# ls -ld ~john2
drwx------ 3 john2 john 4096 Jun 26 18:29 /home/john2
[root@pinguino ~]# groupmod -n john2 john
[root@pinguino ~]# ls -ld ~john2
drwx------ 3 john2 john2 4096 Jun 26 18:29 /home/john2
|
在清單 5 中,當(dāng)使用 groupmod 修改組名稱時,john2 的組目錄的組名稱自動地改變了。覺得奇怪嗎?因為組在文件系統(tǒng)索引節(jié)中由它們的編號表示,而不是由名稱表示。但是,如果修改組的編號,那么應(yīng)該更新以這個組作為主組的所有用戶,還可能希望更新屬于這個組的文件和目錄來匹配新編號(采用上面介紹的修改用戶編號的方法)。清單 6 將用戶 john2 的組編號改為 505,更新用戶帳戶,并對 /home 文件系統(tǒng)中受影響的所有文件做適當(dāng)?shù)男薷?。如果可能的話,您也許希望對用戶和組重新編號。
清單 6. 修改組編號
[root@pinguino ~]# groupmod -g 505 john2
[root@pinguino ~]# ls -ld ~john2
drwx------ 3 john2 503 4096 Jun 26 18:29 /home/john2
[root@pinguino ~]# id john2
uid=503(john2) gid=503 groups=503
[root@pinguino ~]# usermod -g john2 john2
[root@pinguino ~]# id john2
uid=503(john2) gid=505(john2) groups=505(john2)
[root@pinguino ~]# ls -ld ~john2
drwx------ 3 john2 503 4096 Jun 26 18:29 /home/john2
[root@pinguino ~]# find /home -gid 503 -exec chgrp john2 {} \;
[root@pinguino ~]# ls -ld ~john2
drwx------ 3 john2 john2 4096 Jun 26 18:29 /home/john2
|
用戶和組密碼
您已經(jīng)看到了用來修改用戶密碼的 passwd 命令。密碼是(或應(yīng)該是)用戶惟一的,可以由用戶修改。根用戶可以修改任何用戶的密碼。
組也可以有密碼,使用 gpasswd 命令設(shè)置它們。如果用戶知道組密碼,他們就能夠用 newgrp 命令臨時加入一個組。當(dāng)然,讓許多人知道一個密碼是不安全的,所以必須權(quán)衡用 usermod 將用戶加入組的優(yōu)點,以及讓太多人知道組密碼的安全風(fēng)險。
終止或鎖定帳戶
如果需要禁止一個用戶登錄,那么可以使用 usermod 命令的 -L 選項終止(suspend)或鎖定(lock)帳戶。使用 -U 選項給帳戶解鎖(unlock)。清單 7 顯示如何鎖定 john2 帳戶,以及在 john2 試圖登錄系統(tǒng)時發(fā)生的情況。注意,當(dāng) john2 帳戶解鎖時,會恢復(fù)相同的密碼。
清單 7. 鎖定帳戶
[root@pinguino ~]# usermod -L john2
[root@pinguino ~]# ssh john2@pinguino
john2@pinguino‘s password:
Permission denied, please try again.
|
在 圖 2 中,對話框上有幾個選項卡顯示其他用戶屬性。我們簡要提到了如何使用 passwd 命令設(shè)置用戶密碼,但是這個命令和 usermod 命令都可以執(zhí)行與用戶帳戶相關(guān)的許多任務(wù),它們的作用與 chage 命令相似。表 5 列出了一部分選項。關(guān)于這些和其他選項的更多細(xì)節(jié),請參考手冊頁。
表 5. 修改用戶帳戶的命令和選項
命令的選項 |
用途 |
Usermod |
Passwd |
Chage |
|
-L |
-l |
N/A |
鎖定或終止帳戶。 |
-U |
-u |
N/A |
對帳戶解鎖。 |
N/A |
-d |
N/A |
將帳戶設(shè)置為無密碼,從而禁用帳戶。 |
-e |
-f |
-E |
為帳戶設(shè)置過期日期。 |
N/A |
-n |
-m |
以天為單位的最小密碼生命周期。 |
N/A |
-x |
-M |
以天為單位的最大密碼生命周期。 |
N/A |
-w |
-W |
在必須修改密碼之前提前發(fā)出警告的天數(shù)。 |
-f |
-i |
-I |
密碼過期之后,直到禁用帳戶之前的天數(shù)。 |
N/A |
-S |
-l |
輸出關(guān)于當(dāng)前帳戶狀態(tài)的簡短消息。 |
管理用戶和組數(shù)據(jù)庫
用戶和組信息的主要存儲庫是 /etc 中的 4 個文件。
- /etc/passwd
- 這是密碼 文件,包含關(guān)于用戶的基本信息
- /etc/shadow
- 這是影子密碼 文件,包含加密的密碼
- /etc/group
- 這是組 文件,包含組的基本信息以及哪些用戶屬于哪些組
- /etc/gshadow
- 這是影子組 文件,包含加密的組密碼
本文前面介紹的命令會更新這些文件;在討論這些文件之后,您還會看到處理它們的更多命令。這些文件都是純文本文件。一般情況下,不應(yīng)該直接編輯它們。應(yīng)該使用工具更新它們,從而正確地鎖定它們并保持同步。
您會注意到,passwd 和 group 文件都陰影化 了。這是為了保障安全。passwd 和 group 文件本身必須是廣泛可讀的,但是加密的密碼不應(yīng)該是廣泛可讀的。因此,影子文件包含加密的密碼,只有根用戶能夠讀取這些文件。suid 程序提供必要的身份驗證訪問;suid 程序具有根權(quán)限,但是任何人都可以運(yùn)行它。確保為您的系統(tǒng)正確地設(shè)置權(quán)限。清單 8 給出一個示例。
清單 8. 用戶和組數(shù)據(jù)庫權(quán)限
[ian@pinguino ~]$ ls -l /etc/passwd /etc/shadow /etc/group /etc/gshadow
-rw-r--r-- 1 root root 701 Jun 26 19:04 /etc/group
-r-------- 1 root root 580 Jun 26 19:04 /etc/gshadow
-rw-r--r-- 1 root root 1939 Jun 26 19:43 /etc/passwd
-r-------- 1 root root 1324 Jun 26 19:50 /etc/shadow
|
注意: 盡管從技術(shù)上說可以不使用影子密碼和影子組文件,但是幾乎從不這樣做,也不建議這樣做。
/etc/passwd 文件
/etc/passwd 文件對于系統(tǒng)中的每個用戶包含一行記錄。清單 9 給出了一些示例行。
清單 9. /etc/password 條目
root:x:0:0:root:/root:/bin/bash
jane:x:504:504:Jane Doe:/home/jane:/bin/bash
john2:x:503:505:John Doe:/home/john2:/bin/tcsh
|
每行包含幾個由冒號(:)分隔的字段,見表 6。
表 6. /etc/passwd 中的字段
字段 |
用途 |
Username |
用來登錄系統(tǒng)的用戶名。例如,john2。 |
Password |
加密的密碼。在使用影子密碼時,它包含一個 x 字符。 |
User id (UID) |
在系統(tǒng)中用來表示這個用戶名的編號。例如,用戶 john2 的編號是 503。 |
Group id (GID) |
在系統(tǒng)中用來表示這個用戶的主組的編號。例如,用戶 john2 的組編號是 505。 |
Comment (GECOS) |
一個用來描述用戶的可選字段。例如,“John Doe”。這個字段可以包含多個逗號分隔的條目。它還由 finger 等程序使用。GECOS 這個名稱是由于歷史原因形成的。詳情見 man 5 passwd 。 |
Home |
用戶主目錄的絕對路徑。例如,/home/john2。 |
Shell |
當(dāng)用戶登錄系統(tǒng)時自動啟動的程序。這常常是一個交互式 shell,比如 /bin/bash 或 /bin/tcsh,但可能是任何程序,不一定是交互式的 shell。 |
/etc/group 文件
/etc/group 文件對于系統(tǒng)中的每個組包含一行記錄。清單 10 給出了一些示例行。
清單 10. /etc/group 條目
root:x:0:root
jane:x:504:john2
john2:x:505:
|
每行包含四個由冒號(:)分隔的字段,見表 7。
表 7. /etc/group 中的字段
字段 |
用途 |
Groupname |
這個組的名稱。例如,john2。 |
Password |
加密的密碼。在使用影子密碼時,它包含一個 x 字符。 |
Group id (GID) |
在系統(tǒng)中用來表示這個組的編號。例如,組 john2 的編號是 505。 |
Members |
逗號分隔的組成員列表,但是不包括以這個組作為主組的成員。 |
影子文件
應(yīng)該只有根用戶能夠讀取 /etc/shadow 文件。它包含加密的密碼,以及密碼和帳戶的過期信息。關(guān)于其中的字段的信息,參見手冊頁(man 5 shadow )。密碼可以使用 DES 加密,但是常常使用 MD5 加密。DES 算法使用用戶密碼的前 8 個字符的低 7 位作為 56 位的密鑰,而 MD5 算法使用整個密碼。在這兩種算法中,都對密碼做 salt 處理,所以兩個在其他方面相同的密碼不會生成相同的加密值。清單 11 演示如何為用戶 jane 和 john2 設(shè)置相同的密碼,然后顯示在 /etc/shadow 中生成的 MD5 加密密碼。
清單 11. /etc/shadow 中的密碼
[root@pinguino ~]# echo lpic1111 |passwd jane --stdin
Changing password for user jane.
passwd: all authentication tokens updated successfully.
[root@pinguino ~]# echo lpic1111 |passwd john2 --stdin
Changing password for user john2.
passwd: all authentication tokens updated successfully.
[root@pinguino ~]# grep "^j" /etc/shadow
jane:$1$eG0/KGQY$ZJl.ltYtVw0sv.C5OrqUu/:13691:0:99999:7:::
john2:$1$grkxo6ie$J2muvoTpwo3dZAYYTDYNu.:13691:0:180:7:29::
|
輸出開頭的 $1$ 表示一個 MD5 密碼。下面是 salt 值(直到下一個 $ 符號為止),它是一個最多 8 字符的長度可變的字段。余下的 22 字符的字符串是加密的密碼。
操作用戶和組的工具
您已經(jīng)看到了幾個操作用戶帳戶和組文件及其影子文件的命令。下面學(xué)習(xí):
- 組管理員
- 編輯密碼和組文件的命令
- 轉(zhuǎn)換程序
組管理員
在某些情況下,可能希望讓根用戶之外的用戶能夠管理一個或多個組,比如添加或刪除組成員。清單 12 展示了根用戶將用戶 jane 設(shè)置為組 john2 的管理員,然后 jane 將用戶 ian 添加為組成員。
清單 12. 添加組管理員和成員
[root@pinguino ~]# gpasswd -A jane john2
[root@pinguino ~]# su - jane
[jane@pinguino ~]$ gpasswd -a ian john2
Adding user ian to group john2
[jane@pinguino ~]$ id ian;id jane
uid=500(ian) gid=500(ian) groups=500(ian),505(john2)
uid=504(jane) gid=504(jane) groups=504(jane)
|
您可能會吃驚地發(fā)現(xiàn),盡管 jane 是組 john2 的管理員,但她不是這個組的成員。/etc/gshadow 文件的結(jié)構(gòu)可以解釋這一現(xiàn)象的原因。/etc/gshadow 文件為每個條目包含四個字段,見表 8。注意,第三個字段是逗號分隔的組管理員列表。
表 8. /etc/gshadow 中的字段
字段 |
用途 |
Groupname |
這個組的名稱。例如,john2。 |
Password |
如果這個組有密碼,這個字段就用來保存加密的密碼。如果沒有密碼,在這里可能會看到 ‘x’、‘!’ 或 ‘!!’。 |
Admins |
逗號分隔的組管理員列表。 |
Members |
逗號分隔的組成員列表。 |
可以看到,管理員列表和成員列表是兩個不同的字段。gpasswd 的 -A 選項允許根用戶添加組管理員,-M 選項允許根用戶添加組成員。-a (注意,是小寫的)選項允許管理員添加組成員,-d 選項允許管理員刪除組成員。其他選項可以刪除組密碼。細(xì)節(jié)見手冊頁。
編輯密碼和組文件的命令
盡管不屬于 LPI 學(xué)習(xí)目標(biāo),但是還應(yīng)該知道 vipw 命令可以安全地編輯 /etc/passwd,vigr 命令可以安全地編輯 /etc/group。在使用 vi 編輯器進(jìn)行修改時,這些命令會鎖定相關(guān)文件。如果修改 /etc/passwd,那么 vipw 會詢問是否也需要更新 /etc/shadow。同樣,如果使用 vigr 更新 /etc/group,就會詢問是否更新 /etc/gshadow。如果需要刪除組管理員,就需要使用 vigr ,因為 gpasswd 只能添加管理員。
轉(zhuǎn)換程序
還有四個沒有在 LPI 學(xué)習(xí)目標(biāo)中列出的相關(guān)命令。它們是 pwconv 、pwunconv 、grpconv 和 grpunconv 。它們用來在影子和非影子密碼和組文件之間進(jìn)行轉(zhuǎn)換。您可能不會用到它們,但是應(yīng)該知道有這些命令存在。細(xì)節(jié)參見手冊頁。
受限制的和特殊用途的帳戶
按照慣例,系統(tǒng)用戶常常具有小于 100 的 id,根用戶的 id 是 0。普通用戶的自動編號是從 /etc/login.defs 中設(shè)置的 UID_MIN 值開始的,這個值常常設(shè)置為 500 或 1000。
除了普通用戶帳戶和根帳戶之外,系統(tǒng)上常常有幾個特殊用途的帳戶,它們用于 FTP、SSH、郵件、新聞等守護(hù)進(jìn)程。清單 13 顯示 /etc/passwd 中一些特殊用途帳戶的記錄。
清單 13. 受限制的和特殊用途的帳戶
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
|
這樣的帳戶常??刂浦募遣粦?yīng)該通過普通的登錄訪問它們。因此,它們的登錄 shell 常常設(shè)置為 /sbin/nologin 或 /bin/false,所以登錄嘗試會失敗。
|