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
()返回密码数据库中所有项目的列表,顺序不是固定的。
参见: