Linux基础命令---检查密码文件pwck

简介: pwck       检查用户密码文件“/etc/passwd”和“/etc/shadow”的完整性,将验证结果送到标砖输出。提示用户删除格式不正确或有其他不可更正错误的条目。检查以验证每个条目是否具有:正确的字段数、唯一有效的用户名、有效的用户和组标识符、有效的主组、有效的家目录、有效的登录shell。
pwck
       检查用户密码文件“/etc/passwd”和“/etc/shadow”的完整性,将验证结果送到标砖输出。提示用户删除格式不正确或有其他不可更正错误的条目。检查以验证每个条目是否具有:正确的字段数、唯一有效的用户名、有效的用户和组标识符、有效的主组、有效的家目录、有效的登录shell。
当指定了第二个文件参数或系统上存在“/etc/shadow”时,就启用了shadow检查。它会检查一下信息:每个passwd条目都有一个匹配的阴影条目,每个影子条目都有一个匹配的passwd条目,在shadow文件中指定了密码,阴影条目有正确的字段数,阴影条目在shadow中是唯一的,最近的密码更改不会在将来发生。
       检查正确的字段数和唯一用户名是致命的。如果条目有错误的字段数,则会提示用户删除整行。如果用户没有肯定地回答,所有进一步的检查都会被绕过。提示删除具有重复用户名的条目,但仍将进行其余检查。所有其他错误都是警告,并鼓励用户运行usermod命令来更正错误。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
       pwck  [选项]  

2、选项列表
       --help
              显示帮助文档
       --version
              显示命令版本
       -q
              仅显示报错信息
       -r
              以只读模式执行
       -s
              使用UID作为文件的排序依据

3、配置
       下面“/etc/login.defs“中的配置变量更改了该工具的行为:
        PASS_MAX_DAYS ,可以使用密码的最大天数。如果密码早于此,则将强制进行密码更改。如果没有指定,将假定-1(这将禁用限制)。
        PASS_MIN_DAYS ,密码更改之间允许的最短天数。任何密码更改尝试比这更早将被拒绝。如果未指定,则假定为-1(这将禁用限制)
        PASS_WARN_AGE ,在密码过期前发出警告的天数。零表示警告只在到期之日发出,负值表示没有发出警告。如未指定,则不会提供警告。

4、文件
        /etc/group ,组账户信息。
        /etc/passwd ,用户账户信息。
        /etc/shadow ,安全用户帐户信息。

5、返回值
       pwck命令会返回下列结果
       0,成功
       1,无效的命令
       2,1个或多个密码出错
       3,无法打开密码文件
       4,不能锁定密码文件
       5,不能更新密码文件
       6,无法排序密码文件

6、实例
1)普通用户调用pwck
       [david@localhost ~]$  pwck                                  //查看密码文件
       pwck: cannot lock /etc/passwd; try again later.
       [david@localhost ~]$  echo $?                              //打印返回值,这个返回值在shell变量“#?”中
       4
2)root调用pwck
       [root@localhost david]#  pwck
       user 'adm': directory '/var/adm' does not exist
       user 'uucp': directory '/var/spool/uucp' does not exist
       user 'gopher': directory '/var/gopher' does not exist
       user 'avahi-autoipd': directory '/var/lib/avahi-autoipd' does not exist
       user 'pulse': directory '/var/run/pulse' does not exist
       user 'saslauth': directory '/var/empty/saslauth' does not exist
       user 'vboxadd': directory '/var/run/vboxadd' does not exist
       user 'mailnull': directory '/var/spool/mqueue' does not exist
user 'smmsp': directory '/var/spool/mqueue' does not exist
相关文章
|
1天前
|
Linux Shell
Linux操作系统下查找大文件或目录的技巧
Linux操作系统下查找大文件或目录的技巧
|
1天前
|
算法 Linux
Linux:文件增删 & 文件压缩指令
Linux:文件增删 & 文件压缩指令
5 0
|
1天前
|
安全 Linux 测试技术
|
1天前
|
安全 Linux Windows
Linux中Shutdown命令使用介绍
Linux中Shutdown命令使用介绍
|
2天前
|
缓存 关系型数据库 Linux
Linux目录结构:深入理解与命令创建指南
Linux目录结构:深入理解与命令创建指南
|
2天前
|
数据挖掘 Linux vr&ar
Linux命令实战:解决日常问题的利器
Linux命令实战:解决日常问题的利器
|
5月前
|
安全 Linux 数据安全/隐私保护
Linux 忘记密码解决方法
Linux 忘记密码解决方法
53 0
|
8月前
|
安全 Linux 数据安全/隐私保护
Linux 忘记密码解决方法
Linux 忘记密码解决方法
|
12月前
|
安全 Linux 数据安全/隐私保护
Linux root用户忘记密码解决方法
Linux root用户忘记密码解决方法
1678 0
|
Linux 数据安全/隐私保护 Windows
Linux 忘记密码解决方法
很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可。
92 0