35.2. pwd - 密码数据库

此模块提供对Unix用户帐户和密码数据库的访问。它在所有Unix版本上可用。

密码数据库条目被报告为类元组对象,其属性对应于passwd结构(下面的属性字段,参见<pwd.h>)的成员:

指数属性含义
0pw_name登录名
1pw_passwd可选加密密码
2pw_uid数字用户ID
3pw_gid数字组ID
4pw_gecos用户名或注释字段
5pw_dir用户主目录
6pw_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()

以任意顺序返回所有可用密码数据库条目的列表。

也可以看看

模块grp
一个到组数据库的接口,类似于此。
模块spwd
一个到shadow密码数据库的接口,类似这样。