访问Unix / Linux密码数据库(pwd)
Python标准库中的pwd模块提供对Unix/Linux操作系统中用户帐户的密码数据库的访问。此密码数据库中的条目被指定为类似元组的对象。元组的结构根据CPythonAPI中的以下passwd结构pwd.h文件
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()-此函数返回一个元组列表。每个元组包含每个用户的密码结构信息。结构中的uid和gid项目是整数。如果找不到与传递的参数相对应的条目,则会引发KeyError异常。
>>> pwd.getpwnam('hello') Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'getpwnam(): name not found: hello'