python standard_library pwd

python 标准库 pwd 用户密码数据库

  • 此模块可以访问 Unix 用户账户名及密码数据库,在所有 Unix 版本上均可使用。

    密码数据库中的条目以元组对象返回,属性对应 passwd 中的结构(属性如下所示,可参考 ):

    | 索引 | 属性 | 意义 |
    | :— | :———- | :—————– |
    | 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 模块)。不过现在的 unix 系统使用 影子密码 系统。在这些 unix 上,pw_passwd 只包含星号('*')或字母('x'),而加密的密码存储在文件 /etc/shadow 中,此文件不是全局可读的。在 pw_passwd 中是否包含有用信息是系统相关的。如果可以访问到加密的密码,就需要使用 spwd 模块了。

    本模块定义如下内容:

    • pwd.getpwuid(uid)

      给定用户的数值 ID,返回密码数据库的对应项目。

    • pwd.getpwnam(name)

      给定用户名,返回密码数据库的对应项目。

    • pwd.getpwall()

      返回密码数据库中所有项目的列表,顺序不是固定的。

    参见:

    • 模块 grp

      针对用户组数据库的接口,与本模块类似。

    • 模块 spwd

      针对影子密码数据库的接口,与本模块类似。

坚持原创技术分享,您的支持将鼓励我继续创作!