pwdck 命令
用途
验证本地认证信息的正确性。
语法
描述
pwdck 命令通过检查 ALL 用户的定义或 User 参数指定的用户的定义,验证用户数据库文件中密码信息的正确性。 如果指定了多个用户,请在名称之间添加空格。
stderr。选择一个标志以指示系统是否必须尝试修正错误属性。 对于 /etc/passwd 文件中定义的本地用户,检查以下属性:
| 项 | 描述 |
|---|---|
entry |
确保每个条目都可读,并且至少包含两个: (冒号)。 如果指示系统修正错误,那么将废弃整个条目。 |
passwd |
确保密码字段是 ! (惊叹号)。 如果您指示系统应该修正错误,那么它会将密码字段中的信息传输到 /etc/security/passwd 文件,更新 /etc/security/passwd 文件中的 lastupdate 属性,然后将 /etc/passwd 文件中的密码字段替换为 an ! 通常,如果 minalpha, minother或
minlen 密码限制设置为 /etc/security/user 文件中的非零值,那么需要密码。 |
user |
确保用户名是 8 字节或更少的唯一字符串。 它不能以 a + (加号) , a : (冒号) , a - (减号) 或 a ~ (代号) 开头。 它不能在字符串中包含: (冒号) ,并且不能是 ALL, default或 * 关键字。 如果指示系统修正错误,它会从 /etc/passwd 文件中除去用户的条目行。 如果用户名以 + 或-符号开头,那么不会在本地定义用户,并且不会执行检查。 |
在 /etc/security/passwd 文件中检查的属性包括:
| 项 | 描述 |
|---|---|
line |
确保每行可读并且是节的一部分。 废弃任何无效行。 |
password |
如果系统中必需密码,确保 password 属性存在且不是空白。 如果指示系统应修正错误,那么密码将设置为 * (星号) ,并且将废弃 lastupdate 属性。通常,如果在 /etc/security/user 文件中将 |
lastupdate |
确保存在有效非空白密码的 lastupdate 属性,并且其时间早于当前时间。 如果指示系统应修正错误,那么将根据 password 属性废弃或更新 lastupdate 属性。 如果 password 属性不存在,或者等于空白或 * (星号) ,那么将废弃 lastupdate 属性。 否则,lastupdate 时间设为当前时间。 |
flags |
确保 flags 属性仅包含关键字 ADMIN, ADMCHG和 NOCHECK。 如果指示系统修正错误,它删除所有的未定义的标志。 |
在 /etc/security/user 文件中检查的属性包括:
| 项 | 描述 |
|---|---|
auth1 |
确保为本地用户定义的每个 SYSTEM;username 条目在 /etc/security/passwd 文件中具有 username 条目。 如果指示系统修正错误,那么将采用以下格式对每个缺少的条目在 /etc/security/passwd 文件中添加节:
如果
注: 不推荐使用
auth1 属性,不应使用该属性。 |
auth2 |
确保为本地用户定义的每个 authname;username 条目在 /etc/security/passwd 文件中具有 username 条目。 如果指示系统修正错误,将为每个缺少的条目添加一个条目。 如果
当指定 ALL 时, pwdck 命令将确保 /etc/security/passwd 文件中的每个节都对应于本地用户的认证名称 SYSTEM; /etc/security/user 文件中的username 条目。 如果指示系统应该修正错误,那么将从 /etc/security/passwd 文件中废弃与 /etc/security/user 文件中的用户名条目不对应的节。 pwdck 命令在更新 /etc/passwd 文件和 /etc/security/passwd 文件时锁定这些文件。 如果这两个文件之一被另一个进程锁定,pwdck 命令将为了这些文件被解锁而等候几分钟,如果这些文件没有被解锁则命令终止。 pwdck 命令将检查 /etc/passwd 文件和 /etc/security/passwd 文件是否由另一个进程在当前 pwdck 进程运行时修改。 如果您指示系统应该修正错误,那么 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 - 审计事件:
表 2。 审计事件: 事件 信息 PASSWORD_Check用户、错误/修正、状态 PASSWORD_Ckerr文件/用户、错误、状态 - 关注 RBAC 用户
- RBAC 用户注意: 此命令可以执行特权操作。 只有特权用户才能执行特权限定的操作。 有关授权和权限的更多信息,请参阅安全中的特权命令数据库。 有关该命令的权限和授权列表,请参阅 "lssecattr命令或 "getcmdattr子命令。
示例
文件
| 项 | 描述 |
|---|---|
| /usr/bin/pwdck | 包含 pwdck 命令。 |
| /etc/security/passwd | 包含现行密码和安全性信息。 |
| /etc/security/login.cfg | 包含配置信息和密码限制。 |