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

让我告诉你一件事,去年我在公司服务器上做一些事情,发现了一个过期的密码。
在 Linux 系统上检查密码过期日期非常容易。

看,要检查特定用户,只需使用命令即可。
例如,要查看您的好友 daygeek,只需输入 chage -l daygeek。
然后出现屏幕,最后一次更改密码是什么时候,密码何时过期?这个东西非常重要。
去年我忘记换过一次了。
结果远程访问脚本直接给我停了,我找了好久。

如果你想检查所有用户,你需要写一个小脚本。
只需在终端中输入:
bash 对于 $(cut -d: -f1 /etc/passwd) 中的用户;做 回声-n“$用户:” chage -l“$用户” | grep“密码过期”| awk -F':' '{print $2 }' 完成
按回车后,它会一一为你列出。
你看,我前几天试过了,root 密码永远不会过期。
然后我同事u1 的密码很快就到了,我提醒他赶紧改。
否则,无法进行更改且无法登录系统。

如果你想过滤掉那些不关心密码过期的系统用户,比如root和bin,你可以添加grep -v "never"。
我去年创建监控脚本的时候就加了这句话,不然罗列一堆拳头会很混乱。

哦,对了,chage命令不仅可以查看,还可以更改密码策略等等。
如果您发现更改密码过于频繁或过于宽松,也可以使用此调整。
去年我给隔壁部门做了一次调整。
他们觉得员工老忘记改,所以延长了有效期。

总之,chage命令非常擅长在Linux上管理密码。
尤其是你负责服务器的时候,你必须时刻检查哪些用户的密码进来了,否则万一出了问题你就逃不掉了。
我告诉你,去年我就因为这件事差点被老板骂了。
因此,您必须熟悉该命令。

如何查看Linux用户密码状态 chage命令密码策略检查

嘿,我得和你谈谈这件事。
我在一家公司做运维,Linux服务器管理得非常严密。
如果你想知道Linux用户的密码,只需使用chage命令即可。

让我举个例子。
当时,2 01 8 年左右,我们公司有一个叫john的用户,总是忘记修改密码。
我只是使用 chage -l john 命令。
你看,直接在终端中输入即可。
它非常清楚地为您列出了一堆东西。

看看这个输出:
Lastpasswordchange:上次更改密码的日期,例如 2 01 9 年 3 月 1 日。

密码过期:密码过期时,例如2 02 0年3 月1 日。

帐户过期:取决于帐户过期的日期。

密码更改的最小天数:密码至少可以每隔几天更改一次。
例如我设置为7 天。

密码更改的最大天数:密码最多每隔几天更改一次。
例如我设置为9 0天。

Numberofdaysofwarningbeforepasswordexpires:密码过期前的天数提醒,比如我设置为7 天。

这个东西很实用。
例如,用户john的密码即将过期,我必须提醒他。
直接使用chage -d 0 john将最后一次更改密码的日期设置为很久以前,例如1 9 7 0年1 月1 日。
下次John登录时,系统会提示他必须更改密码。

如果您想更改密码策略,例如要求新用户每 7 天和每 9 0 天更改一次密码,您必须更改全局设置。
该文件位于/etc/login.defs 中。
你用sudo vi /etc/login.defs,进去改:
PASS_MAX_DAYS 9 0
PASS_MIN_DAYS 7
PASS_WARN_AGE 7
更改后保存退出,此设置才会生效,但请注意,此设置仅对新用户有效,老用户必须使用chage命令一一更改。

还有密码复杂性,这取决于 PAM 配置。
例如,在/etc/pam.d/common-password中,您可以设置最小密码长度,该长度必须包含数字。
出于安全考虑,我规定密码不能少于1 2 个字符,并且必须包含数字和特殊符号。
你需要知道如何配置它,否则用户每天都会向你抱怨。

最重要的是您需要拥有 root 权限才能更改这些设置。
一般来说,sudo就足够了。
请注意,更改全局设置仅适用于新用户。
对于老用户来说,还得用chage命令来一一调整。

总之,chage命令确实是个好东西,特别是对于管理Linux用户密码来说。
我遇到的坑是一开始没有注意全局设置和老用户单独调整的区别,导致几个老员工抱怨密码政策太严格。
后来分开处理,慢慢就习惯了。

你明白吗? 如果你有什么不明白的,我会详细地给你解释。

linux怎么查看用户密码是否过期

直接使用用户名chage -l。
密码过期,输出是过期日期。
不要使用 passwd -S,您必须自己计算日期。
不要直接看/etc/shadow,这很烦人。
使用更改更容易。