36.2. pwd-密码数据库

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

密码数据库条目被报告为类似 Tuples 的对象,其属性与passwd结构的成员相对应(以下属性字段,请参阅<pwd.h>):

IndexAttributeMeaning
0pw_nameLogin name
1pw_passwd可选的加密密码
2pw_uid数字用户 ID
3pw_gid数字组 ID
4pw_gecos用户名或 Comment 字段
5pw_dir用户主目录
6pw_shell用户命令解释器

uid 和 gid 项目是整数,所有其他都是字符串。如果找不到要求的条目,将引发KeyError

Note

在传统的 Unix 中,字段pw_passwd通常包含使用 DES 派生算法加密的密码(请参阅模块crypt)。然而,大多数现代的大学使用所谓的“影子密码”系统。在那些 unices 上,* pw_passwd *字段仅包含一个星号('*')或字母'x',其中加密密码存储在文件/etc/shadow中,该文件无法全局读取。 * pw_passwd *字段是否包含有用的内容取决于系统。如果可用,应在需要访问加密密码的地方使用spwd模块。

它定义了以下项目:

  • pwd. getpwuid(* uid *)

    • 返回给定数字用户 ID 的密码数据库条目。
  • pwd. getpwnam(* name *)

    • 返回给定用户名的密码数据库条目。
  • pwd. getpwall ( )

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

See also

  • Module grp

  • 组数据库的接口,与此类似。

  • Module spwd

  • 影子密码数据库的接口,与此类似。