35.2. pwd
- 密码数据库¶
此模块提供对Unix用户帐户和密码数据库的访问。它在所有Unix版本上可用。
密码数据库条目被报告为类元组对象,其属性对应于passwd
结构(下面的属性字段,参见<pwd.h>
)的成员:
指数 | 属性 | 含义 |
---|---|---|
0 | pw_name | 登录名 |
1 | pw_passwd | 可选加密密码 |
2 | pw_uid | 数字用户ID |
3 | pw_gid | 数字组ID |
4 | pw_gecos | 用户名或注释字段 |
5 | pw_dir | 用户主目录 |
6 | pw_shell | 用户命令解释器 |
uid和gid项是整数,所有其他都是字符串。如果无法找到要求的条目,则会引发KeyError
。
注意
在传统的Unix中,字段pw_passwd
通常包含用DES导出的算法加密的密码(参见模块crypt
)。然而,大多数现代unices使用所谓的shadow密码系统。On those unices the pw_passwd field only contains an asterisk ('*'
) or the letter 'x'
where the encrypted password is stored in a file /etc/shadow
which is not world readable. pw_passwd字段是否包含任何有用的是系统相关的。如果可用,应在需要访问加密密码的地方使用spwd
模块。
它定义以下项目:
-
pwd.
getpwuid
(uid)¶ 返回给定数字用户ID的密码数据库条目。
-
pwd.
getpwnam
(name)¶ 返回给定用户名的密码数据库条目。
-
pwd.
getpwall
()¶ 以任意顺序返回所有可用密码数据库条目的列表。