pwd
--- 用戶(hù)密碼數(shù)據(jù)庫(kù)?
此模塊可以訪問(wèn) Unix 用戶(hù)賬戶(hù)名及密碼數(shù)據(jù)庫(kù),在所有 Unix 版本上均可使用。
密碼數(shù)據(jù)庫(kù)中的條目以元組對(duì)象返回,屬性對(duì)應(yīng) passwd
中的結(jié)構(gòu)(屬性如下所示,可參考 <pwd.h>
):
索引 |
屬性 |
含意 |
---|---|---|
0 |
|
登錄名 |
1 |
|
密碼,可能已經(jīng)加密 |
2 |
|
用戶(hù) ID 數(shù)值 |
3 |
|
組 ID 數(shù)值 |
4 |
|
用戶(hù)名或備注 |
5 |
|
用戶(hù)主目錄 |
6 |
|
用戶(hù)的命令解釋器 |
其中 uid 和 gid 是整數(shù),其他是字符串,如果找不到對(duì)應(yīng)的項(xiàng)目,拋出 KeyError
異常。
備注
傳統(tǒng)的 Unix 系統(tǒng)中,pw_passwd
的值通常使用 DES 導(dǎo)出的算法加密(參閱 crypt
模塊)。不過(guò)現(xiàn)在的 unix 系統(tǒng)使用 影子密碼 系統(tǒng)。在這些 unix 上,pw_passwd 只包含星號(hào)('*'
)或字母('x'
),而加密的密碼存儲(chǔ)在文件 /etc/shadow
中,此文件不是全局可讀的。在 pw_passwd 中是否包含有用信息是系統(tǒng)相關(guān)的。如果可以訪問(wèn)到加密的密碼,就需要使用 spwd
模塊了。
本模塊定義如下內(nèi)容:
- pwd.getpwuid(uid)?
給定用戶(hù)的數(shù)值 ID,返回密碼數(shù)據(jù)庫(kù)的對(duì)應(yīng)項(xiàng)目。
- pwd.getpwnam(name)?
給定用戶(hù)名,返回密碼數(shù)據(jù)庫(kù)的對(duì)應(yīng)項(xiàng)目。
- pwd.getpwall()?
返回密碼數(shù)據(jù)庫(kù)中所有項(xiàng)目的列表,順序不是固定的。