Linux 登录密码过期管理( 二 )

  • 使用示例:chage -W 6 root 将密码过期前的警告天数设置为7天 。
  • -E:帐号到期的日期 。过了这天,此帐号将不可用 。(-E 是 --expiredate 的简写,两者等效)
    • 使用示例:chage -E 2023-01-01 zinyan 设置账户zinyan 在2023年1月1日过期不可用 。(PS:root账户不要设置为过期不可用)
  • -d:修改账户的上次密码修改时间,例如已经过期了,我们可以通过修改该时间 。让用户密码还处于有效期内 。(-d是 --lastday的简写,两者等效)
    • 使用示例:chage -d 2022-11-11 zinyan 修改zinyan账户上一次密码修改时间为2022-11-11日
  • -I:停滞时期 。如果一个密码已过期这些天,那么此帐号将不可用 。(-I是 --inactive的简写,两者等效)
    • 使用示例:chage -I 30 zinyan 如果账户密码过期30天后,还不进行密码修改 。那么老密码将会失效,也就无法自己进行登录修改密码了 。
  • -l:例出当前账户的信息 。可以用来确认指定账户的密码或帐号何时过期 。(-l是 --list的简写,两者等效)
    • 使用示例: chage -l root 展示root的账户信息 。
  • -R:chroot到的目录,需要填写新的root目录地址 。(-R 是--root 的简写,两者等效)
    • 使用示例:chage -R /App/test zinyan 设置zinyan用户登录之后该账户的root根目录地址 。可以用来隔绝不同账户的访问范围,用来规范权限的 。更多的知识可以通过chroot命名进行了解 。这里就不扩展了 。(ps:关键我也并不是很懂这块)
  • -h: 显示chage命令的一些指令介绍和帮助信息 。(-h 是--help 的简写,两者等效)
    • 使用示例:chage -h 显示帮助信息
  • 密码过期和密码失效账户失效 是不一样的概念 。
    当密码过期的时候,我们可以用老密码进行继续登录,登录成功后会提示:
    You must change your password now and login again! 我的秘密已经过期,会让我们输入新秘密进修过 。
    而如果账户或者密码失效,在登录的时候会提示:
    Authentication failed.账户过期,无法登录 。
    上面的示例,其实还可以拼接使用:
    [root@i0uh8g ~]# chage -d 0 -m 7 -M 30 -W 5 -I 7 zinyan2.2 login.defs配置文件我们如果用户过多,不可能每次都通过chage指令进行修改 。可以通过login.defs配置文件进行统一修改 。
    但是要注意:已经创建的用户,不会再受该配置文件的影响 。要进行修改就只能通过chage指令进行修改了 。
    如果修改login.defs配置后,创建了一个新账户 。然后再修改login.defs配置 。后一次修改的效果不会在已创建的账户上生效哦 。
    该文件地址为: /etc/login.defs 通过vim 打开文件的效果如下:
    [root@i0uh8g ~]# vim /etc/login.defs## Please note that the parameters in this configuration file control the# behavior of the tools from the shadow-utils component. None of these# tools uses the PAM mechanism, and the utilities that use PAM (such as the# passwd command) should therefore be configured elsewhere. Refer to# /etc/pam.d/system-auth for more information.## *REQUIRED*#Directory where mailboxes reside, _or_ name of file, relative to the#home directory.If you _do_ define both, MAIL_DIR takes precedence.#QMAIL_DIR is for Qmail##QMAIL_DIRMaildirMAIL_DIR/var/spool/mail#MAIL_FILE.mail# Password aging controls:##PASS_MAX_DAYSMaximum number of days a password may be used.#PASS_MIN_DAYSMinimum number of days allowed between password changes.#PASS_MIN_LENMinimum acceptable password length.#PASS_WARN_AGENumber of days warning given before a password expires.#PASS_MAX_DAYS90PASS_MIN_DAYS7PASS_MIN_LEN5PASS_WARN_AGE7## Min/max values for automatic uid selection in useradd#UID_MIN1000UID_MAX60000# System accounts比较重要的的几个配置项:
    PASS_MAX_DAYS90# 过期时间,默认是90,我们可以调整为9999 表示密码永不过期PASS_MIN_DAYS7# 修改间隔,默认是7PASS_MIN_LEN5# 密码长度,默认是5PASS_WARN_AGE7# 告警天数,默认是7,即过期前7天进行提醒2.3 useradd配置文件上面的示例中,我们可以发现login.defs中关于密码过期的选项不够全 。没有chage的操作全 。例如
    密码到期日期,密码停滞时间等 。这些信息在useradd文件中进行配置 。该文件地址:/etc/default/useradd 。示例:
    [root@i0uh8g ~]# vim /etc/default/useradd# useradd defaults fileGROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/bashSKEL=/etc/skelCREATE_MAIL_SPOOL=yes


    推荐阅读