访问 Unix/Linux 密码数据库 (pwd)
Python 标准库中的 pwd 模块提供了访问 Unix/Linux 操作系统中用户帐户密码数据库的功能。此密码数据库中的条目存储为类似元组的对象。元组的结构根据 CPython API 中的 C 文件 pwd.h 中的以下 passwd 结构。
索引 | 属性 | 含义 |
---|---|---|
0 | pw_name | 登录名 |
1 | pw_passwd | 可选的加密密码 |
2 | pw_uid | 数值用户 ID |
3 | pw_gid | 数值组 ID |
4 | pw_gecos | 用户名或注释字段 |
5 | pw_dir | 用户主目录 |
6 | pw_shell | 用户命令解释器 |
pwd 模块定义了以下函数:
>>> import pwd >>> dir(pwd) ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'getpwall', 'getpwnam', 'getpwuid', 'struct_passwd']
getpwnam() - 此函数返回密码数据库中对应于指定用户名的记录。
>>> pwd.getpwnam('root') pwd.struct_passwd(pw_name s= 'root', pw_passwd = 'x', pw_uid = 0, pw_gid = 0, pw_gecos = 'root', pw_dir = '/root', pw_shell = '/bin/bash')
getpwuid() - 此函数返回密码数据库中对应于给定 UID 的记录。
>>> pwd.getpwuid(0) pwd.struct_passwd(pw_name = 'root', pw_passwd = 'x', pw_uid = 0, pw_gid = 0, pw_gecos = 'root', pw_dir = '/root', pw_shell = '/bin/bash')
getpwall() - 此函数返回一个元组列表。每个元组包含每个用户的 passwd 结构信息。结构中的 uid 和 gid 项目是整数。如果找不到对应于传递参数的条目,则会引发 KeyError 异常。
>>> pwd.getpwnam('hello') Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'getpwnam(): name not found: hello'
广告