zoukankan      html  css  js  c++  java
  • Linux基础命令---检查密码文件pwck

    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 

  • 相关阅读:
    省队集训 Day1 残缺的字符串
    省队集训 Day3 吴清华
    省队集训 Day3 陈姚班
    Java多线程中的join方法
    Java多线程同步机制之同步块(方法)——synchronized
    java-实用的sql语句
    java-分页之页面分页
    java下实现调用oracle的存储过程和函数
    java-MySQL存储过程
    MySQL存储过程
  • 原文地址:https://www.cnblogs.com/wj78080458/p/10248626.html
Copyright © 2011-2022 走看看