云网牛站
所在位置:首页 > Linux安全 > 在Linux系统上检查特定用户及所有用户的密码到期日期

在Linux系统上检查特定用户及所有用户的密码到期日期

2020-03-19 21:26:05作者:戴均益稿源:云网牛站

如果你想在Linux系统上检查特定用户或者所有用户的密码到期日期,以下将为你提供有效的可行方法,包括两段Shell脚本。

在Linux系统上检查特定用户及所有用户的密码到期日期

 

前言

如果在Linux系统上启用密码策略,密码必须在到期前进行更改,在登录到系统时会收到通知,建议新设置的密码要复杂些,可保系统环境更加的安全。如果您很少使用自己的帐户,则可能由于密码过期而被锁定。

在许多情况下,这种情况可能会在使用无密码登录的服务帐户中发生,因为没有人可以监视它。这将导致停止在服务器上配置的cronjobs/crontab。如果是这样,如何减轻这种情况。您可以编写一个shell脚本来获取有关它的通知,可参考下面文章:

Bash脚本:发送带有在“X”天内过期的用户帐户列表的电子邮件

本文旨在为您提供终端上的实际日期,这可以使用chage命令来实现,它允许用户执行其他功能,例如设置帐户到期日期,在到期后将密码设置为无效,显示帐户失效信息,设置密码更改之前的最小和最大天数以及设置到期警告天数。

 

如何在Linux上查看特定用户的密码到期日期

如果要检查Linux上特定用户的密码到期日期,请使用以下命令,比如:

# chage -l ywnz

请自行更改ywnz用户名,返回信息参考:

在Linux系统上检查特定用户及所有用户的密码到期日期

注:上面截图返回的信息包括:上次密码更改日期、密码过期日期、及密码无效、帐户过期、两次更改密码之间的最少天数、两次密码更改之间的最长天数、密码过期前的警告天数信息。

 

如何在Linux上检查所有用户的密码到期日期

可以直接对单个用户使用chage命令,这对于很多用户而言可能无法正常工作。为此,需要编写一个小的Shell脚本,下面的shell脚本可以列出添加到系统中的所有用户,包括系统用户:

# for user in $(cat /etc/passwd |cut -d: -f1); do echo $user; chage -l $user | grep "Password expires"; done | paste -d " "  - - | sed 's/Password expires//g'

将得到类似以下的输出,但是用户名可能不同:

在Linux系统上检查特定用户及所有用户的密码到期日期

注:所得到的结果都在返回信息中。

 

如何检查除Linux上的系统用户外的所有用户的密码到期日期

下面的Shell脚本将显示具有到期日期的用户列表:

# for user in $(cat /etc/passwd |cut -d: -f1); do echo $user; chage -l $user | grep "Password expires"; done | paste -d " "  - - | sed 's/Password expires//g' | grep -v "never"

将得到类似以下的输出,但是用户名可能不同:

在Linux系统上检查特定用户及所有用户的密码到期日期

注:所得到的结果都在返回信息中。

 

相关主题

带你了解Linux操作系统的/etc/passwd文件

精选文章
热门文章