获取密码过期时间

获取密码过期时间

让我先这样说:我愿意不是具有可用的 root 访问权限。

我最近被锁定了我的帐户,因为我不知道密码即将到期,然后就过去了。我想在我的启动脚本中添加一个检查,以检查并显示时间,以便我知道时间即将到来。

有没有命令或方法可以获取我的用户密码过期时的时间戳?

答案1

您应该能够从chage实用程序获取该信息。不需要 root 即可在列表模式下运行。

注意:这很可能仅适用于passwd基于本地的身份验证。我不知道是否可以使其与不将登录信息放入passwd/文件的身份验证模式一起使用shadow。我猜这些解决方案提供了自己的工具,但不了解它们。

$ chage -l test                       
Last password change                                : Apr 17, 2012
Password expires                                    : Apr 27, 2012
Password inactive                                   : never
Account expires                                     : May 20, 2012
Minimum number of days between password change      : 0
Maximum number of days between password change      : 10
Number of days of warning before password expires   : 7

我使用它与快速 awk 一起在登录时显示我的密码到期日期。

答案2

在 ldap 中你会做类似的事情:

ldapsearch -x -Z  uid=$1 pwdChangedTime | \
          grep -vE '^#|^$' | grep pwdChangedTime | awk '{print $2}'

答案3

chage可以进行多项更改并可以了解登录详细信息,如下所示...

Usage: chage [options] [LOGIN]

Options:
  -d, --lastday LAST_DAY        set date of last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
  -m, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -M, --maxdays MAX_DAYS        set maximim number of days before password
                                change to MAX_DAYS
  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS

如果您有 Root 访问权限,则可以更改密码过期时间,只需编辑..

vim /etc/login.defs

只需设置下面的值...

PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7

它可能对你有帮助

相关内容