「pwck(8)」-

验证密码文件的完整性

命令语法格式

pwck [options] [passwd [ shadow ]]

命令描述

命令pwck验证用户和身份验证信息的完整性。它检查/etc/passwd和/etc/shadow中的所有条目,并确认其是否具有格式正确并包含有效数据。提示用户删除格式不正确或具有其他无法纠正的错误的条目。

命令pwck会对条目进行如下检查:

  • 正确的字段数量;
  • 唯一且有效的用户名;
  • 有效的UID和GID;
  • 有效的主要组;
  • 有效的主目录;
  • 有效的登录Shell;

在指定第二个文件参数shadow,或系统上存在/etc/shadow时,将检查shadow文件。检查项目如下:

  • 每个passwd条目都有一个匹配的shadow条目,每个shadown条目都有一个匹配的passwd条目;
  • 密码在shadown文件中指定;
  • 在shadown中的条目具有正确的字段数;
  • 所有的shadow条目在shadown文件中是唯一的;
  • 最后的密码更改时间是合理的,不是未来的时间;

检查正确的字段数和用户名唯一检查是致命的。如果条目的字段数错误,将提示用户删除整行。如果用户没有肯定地回答,则绕过所有进一步的检查。将提示删除具有重复用户名的条目,但仍将进行其余检查。所有其他错误都是警告,建议用户运行usermod命令来更正遇到的错误。

由于在/etc/passwd文件上运行的命令无法更改损坏或重复的条目,在这种情况下,应该使用pwck来删除违规条目。

命令支持的选项及含义

命令pwck支持的选项如下:

-r, –read-only
以只读模式执行pwck命令。这导致所有有关于变更的问题在没有用户干预的情况下得到否定的回答。

-s, –sort
通过UID对/etc/passwd和/etc/shadow中的条目进行排序。

-q, –quiet
只报告错误。不显示那些不需要用户执行任何操作的警告。

-R, –root CHROOT_DIR
在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。

-h, –help
显示帮助选项并退出。

注意事项

选项-r与-s无法结合使用。

默认情况下,命令pwck在/etc/group和/etc/gshadow上运行。 用户可以选择具有组及相关参数的备用文件。

配置文件

在/etc/login.defs中的以下配置变量会影响命令pwconv的行为:

PASS_MAX_DAYS (number)
密码可以使用的最大天数。如果密码早于此天数,则将强制更改密码。如果未指定,则假定为-1(禁用天数限制)。

PASS_MIN_DAYS (number)
两次密码更改之间的最少天数。任何小于该天数的密码更改都将被拒绝。如果未指定,则假定为-1(禁用天数限制)。

PASS_WARN_AGE (number)
密码到期前发出的警告天数。为零表示警告仅在到期日给出,否定表示不给出警告。如果未指定,则不会提供警告。

相关文件

/etc/group
组帐号信息。

/etc/shadow
安全组帐号信息。

/etc/passwd
用户账户信息。

退出状态

命令pwck会以下列状态值退出:

0 成功

1 命令语法无效

2 存在一个或多个错误的密码条目

3 无法打开passwd文件

4 无法锁定passwd文件

5 无法更新passwd文件

6 无法对passwd文件进行排序

相关手册

group(5), pwck(8), passwd(5), shadow(5), usermod(8).

参考文献

  • man 8 pwck, Version shadow-utils 4.4

更新日志

  • 07/16/2018 创建文章