pwdck 命令
用途
验证本地认证信息的正确性。
语法
描述
pwdck 命令通过检查所有用户的定义或 User 参数指定的用户的定义来验证用户数据库文件中密码信息的正确性。 如果指定的用户超过一个,名字间必须有一个空格。
注意:该命令会将信息写入stderr。
必须选择一个标志来指示系统是否应该尝试修复错误属性。 对于 /etc/passwd 文件中定义的本地用户,检查以下属性:
| 项 | 描述 |
|---|---|
| ENTRY | 确保每个条目可读并且它至少包含两个 :(冒号)。 如果指示系统修正错误,那么将废弃整个条目。 |
| passwd | 确保密码字段是一个 !(惊叹号)。 (感叹号)。 如果指示系统修正错误,它将密码字段中的信息传输至 /etc/security/passwd 文件,更新 /etc/security/passwd 文件中的 lastupdate 属性,然后用 ! 替换 /etc/passwd 文件中的密码字段。 通常,如果 /etc/security/user 文件中的 minalpha、minother 或 minlen 的密码约束设为非零值,那么必须指定密码。 |
| 用户 | 确保用户名是唯一的不多于八个字节的字符串。 名字不能以 +(加号)、:(冒号)、-(减号)或 ~ (波浪号) 开始。 在字符串中不能包含 :(冒号),并且不能是 ALL、default 或 * 这些关键字。 如果指示系统修正错误,它会从 /etc/passwd 文件中除去用户的条目行。 如果用户名以符号 + 或 - 开始,那么此用户不是本地定义的用户,且不对他执行检查。 |
/etc/security/passwd 文件中检查的属性有:
| 项 | 描述 |
|---|---|
| 行 | 确保每行可读并且是节的一部分。 废弃任何无效行。 |
| 密码 | 如果系统中必需密码,确保 password 属性存在且不是空白。 如果指示系统修正错误,那么密码设为
*(星号),且废弃 lastupdate 属性。 通常,如果 /etc/security/user 文件中的 minalpha 或 minother 密码约束设为非零值,那么必须指定密码。 如果用户的 flags 属性指定 NOCHECK 关键字,那么对这个用户而言密码不是必需的,且忽略检查。 |
| lastupdate | 对于有效的非空白的密码,确保 lastupdate 属性存在,而且它的时间在当前时间之前。 如果指示系统修正错误, lastupdate 属性是废弃还是更新,取决于 password 属性。 如果 password 属性不存在,或是一个空格,或是一个 * (星号),那么废弃 lastupdate 属性。 否则,lastupdate 时间设为当前时间。 |
| 标志 | 确保 flags 属性仅包含关键字 ADMIN、ADMCHG 和 NOCHECK。 如果指示系统修正错误,它删除所有的未定义的标志。 |
/etc/security/user 文件中检查的属性有:
| 项 | 描述 |
|---|---|
| auth1 | 确保为本地用户定义的每个 SYSTEM;username条目在/etc/security/passwd文件中都有一个username条目。 如果指示系统修正错误,那么将采用以下格式对每个缺少的条目在 /etc/security/passwd 文件中添加节:如果 /etc/security/user 文件中缺少用户条目和缺省条目,系统假定以下值并在 auth1 上执行以下检查: 注意: auth1属性已被弃用,不应再使用。
|
| auth2 | 确保为本地用户定义的每个 authname;username条目在/etc/security/passwd文件中都有一个username条目。 如果指示系统修正错误,将为每个缺少的条目添加一个条目。 如果 /etc/security/user 文件中缺少用户条目和缺省条目,系统假定以下值并在 auth2 上执行以下检查: 当指定 ALL 时,pwdck命令会确保/etc/security/passwd文件中的每个分节都与/etc/security/user文件中 SYSTEM;username条目的本地用户验证名称相对应。 如果指示系统修正错误,那么未与 /etc/security/user 文件中的用户名条目对应的节将从 /etc/security/passwd 文件中废弃。 更新 /etc/passwd 文件和 /etc/security/passwd 文件时,pwdck 命令锁定它们。 如果这两个文件之一被另一个进程锁定,pwdck 命令将为了这些文件被解锁而等候几分钟,如果这些文件没有被解锁则命令终止。 当前 pwdck 进程运行时,pwdck 命令检查以了解 /etc/passwd 文件和 /etc/security/passwd 文件是否已被另一个进程修改。 如果指示系统修正错误,pwdck 命令更新 /etc/passwd 文件和 /etc/security/passwd 文件,并且可能覆盖其他进程造成的任何更改。 注意: pwdck命令在修复错误并报告错误时,会禁用文件上的任何扩展访问控制列表 (ACL)。
pwdck 命令也检查以了解数据库管理安全性文件(/etc/passwd.nm.idx、/etc/passwd.id.idx 、/etc/security/passwd.idx 和 /etc/security/lastlog.idx)相对于系统安全性文件是最新的文件还是更新的文件。 请注意, /etc/security/lastlog.idx 可以不比 /etc/security/lastlog 更新。 如果数据管理安全文件已经过期了,就会出现一个警告消息指出 root 用户应该运行 mkpasswd 命令了。 通常, sysck 命令调用 pwdck 命令作为可信系统安装验证的一部分。 另外,root 用户或者安全组成员可输入此命令。 注意: auth2属性已被弃用,不应再使用。
|
标志
| 项 | 描述 |
|---|---|
| -l | 在整个运行期间锁定文件。 |
| -n | 报告错误但不修复。 |
| -p | 修复错误但不报告。 |
| -t | 报告错误,询问是否要修复。 |
| -y | 修复错误且报告。 |
安全性
访问控制:这个命令将执行 (x) 访问授权给 root 用户和安全组成员。 需要将该命令 setuid 到 root 用户,以读写认证信息,并具有 trusted computing base 属性。
访问的文件:
| 方式 | 文件 |
|---|---|
| rw | /etc/passwd |
| R | /etc/security/user |
| rw | /etc/security/passwd |
| R | /etc/security/login.cfg |
审计事件:
| 事件 | 信息 |
|---|---|
| PASSWORD_Check | 用户、错误/修正、状态 |
| 密码_Ckerr | 文件/用户、错误、状态 |
RBAC 用户和 TrustedAIX®用户请注意:此命令可执行特权操作。 只有特权用户才能执行特权限定的操作。 有关权限与特权的更多信息,请参阅安全性中的“特权限定的命令数据库”。 有关与该命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。
示例
文件
| 项 | 描述 |
|---|---|
| /usr/bin/pwdck | 包含 pwdck 命令。 |
| /etc/security/passwd | 包含现行密码和安全性信息。 |
| /etc/security/login.cfg | 包含配置信息和密码限制。 |