在Debian系統(tǒng)中,一般的 Unix 認證由 PAM(Pluggable Authentication Modules,即可插拔的驗證模塊)下的 pam_unix(8) 模塊提供。它的三個重要文件分別是/etc/passwd、/etc/shadow和/etc/group,其中的條目使用“:”進行分隔。
一、/etc/passwd
下表展示了pam_unix(8) 使用的 3 個重要配置文件:
文件 | 權(quán)限 | 用戶 | 組 | 說明 |
---|---|---|---|---|
/etc/passwd |
-rw-r--r-- |
root |
root |
(明文的)用戶賬號信息 |
/etc/shadow |
-rw-r----- |
root |
shadow |
安全加密的用戶賬號信息 |
/etc/group |
-rw-r--r-- |
root |
root |
組信息 |
“/etc/passwd” 包含下列內(nèi)容:
... user1:x:1000:1000:User1 Name,,,:/home/user1:/bin/bash user2:x:1001:1001:User2 Name,,,:/home/user2:/bin/bash ...
這個文件中被 “:” 分隔的每項含義如下:
- 登錄名
- 密碼形式說明
- 數(shù)字形式的用戶 ID
- 數(shù)字形式的組 ID
- 用戶名或注釋字段
- 用戶家目錄
- 可選的用戶命令解釋器
二、/etc/passwd
“/etc/passwd” 的第二項曾經(jīng)被用來保存加密后的密碼。在引入了 “/etc/shadow” 后,該項被用來說明密碼形式。
下表展示了“/etc/passwd” 第二項的內(nèi)容:
內(nèi)容 | 說明 |
---|---|
(空) | 無需密碼的賬號 |
x | 加密后的密碼保存在 “/etc/shadow ” |
“/etc/shadow” 包含下列內(nèi)容。
... user1:$1$Xop0FYH9$IfxyQwBe9b8tiyIkt2P4F/:13262:0:99999:7::: user2:$1$vXGZLVbS$ElyErNf/agUDsm1DehJMS/:13261:0:99999:7::: ...
這個文件中被 “:” 分隔的每項含義如下:
- 登錄名
- 加密后的密碼(開頭的 “$1$” 表示使用 MD5 加密。“*” 表示無法登錄。)
- 最后一次修改密碼的時間,其表示從 1970 年 1 月 1 日起的天數(shù)
- 允許用戶再次修改密碼的天數(shù)間隔
- 用戶必須修改密碼的天數(shù)間隔
- 密碼失效前的天數(shù),在此期間用戶會被警告
- 密碼失效后的天數(shù),在次期間密碼依舊會被接受
- 賬號失效的時間,其表示從 1970 年 1 月 1 日起的天數(shù)
- …
三、/etc/group
“/etc/group” 包含下列內(nèi)容。
group1:x:20:user1,user2
這個文件中被 “:” 分隔的每項含義如下。
- 組名稱
- 加密后的密碼(不會被真正使用)
- 數(shù)字形式的組 ID
- 使用 “,” 分隔的用戶名列表
注意:
- “/etc/gshadow” 為 “/etc/group” 提供了與 “/etc/shadow” 相似的功能,但沒有被真正地使用。
- 如果”auth optional pam_group.so” 這行添加到了”/etc/pam.d/common-auth”,并且在”/etc/security/group.conf” 里進行了設(shè)置,一個用戶的實際組就可以被動態(tài)添加。