# 35.3. `spwd` - 影子密码数据库

此模块提供对Unix影子密码数据库的访问。它可用于各种Unix版本。

您必须具有足够的权限才能访问影子密码数据库（这通常意味着您必须是root用户）。

影子密码数据库条目报告为类似元组的对象，其属性对应于`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)

  返回给定用户名的影子密码数据库条目。

`spwd.``getspall`()

  以任意顺序返回所有可用shadow密码数据库条目的列表。

也可以看看

模块`grp`
  一个到组数据库的接口，类似于此。
模块`pwd`
  一个接口到正常的密码数据库，类似这样。