spwd —— shadow 密码库

从 3.11 版起不建议使用,将在 3.13 版中移除: spwd 模块已被弃用(请参阅 PEP 594 了解详情及其替代品)。


该模块提供对 Unix shadow 密码库的访问能力。可用于各种 Unix 版本。

可用性: 非 Emscripten,非 WASI。

此模块在 WebAssembly 平台 wasm32-emscriptenwasm32-wasi 上不适用或不可用。 请参阅 WebAssembly 平台 了解详情。

访问 shadow 密码数据库须拥有足够的权限(通常意味着必须采用 root 账户)。

shadow 密码库中的每条记录均表示为一个类似元组的对象,其属性对应着 spwd 结构的成员(下面列出了各属性字段,参见 ` <shadow.h>)。

索引

属性

含意

0

sp_namp

登录名

1

sp_pwdp

加密后的密码

2

sp_lstchg

最后修改日期

3

sp_min

两次修改间隔的最小天数

4

sp_max

两次修改间隔的最大天数

5

sp_warn

提前警告用户密码过期的天数

6

sp_inact

密码过期至账户禁用之间的天数

7

sp_expire

账户过期的天数,自 1970-01-01 算起

8

sp_flag

保留字段

sp_namp 和 sp_pwdp 条目是字符串,其他的均为整数。 如果未找到所需条目则会触发 KeyError

定义了以下函数:

spwd.getspnam(name)

返回指定用户名的 shadow 密码库记录。

在 3.6 版本发生变更: 如果当前用户权限不足,会触发 PermissionError,而非 KeyError

spwd.getspall()

返回所有可用的 shadow 密码库记录列表,顺序随机。

参见

模块 grp

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

模块 pwd

访问普通密码库的接口,与本模块类似。