转储/输出/列出所有用户的 Linux 密码到期信息

Kyl*_*yle 6 linux password

语境

所以我设置了一个新的 Debian 服务器并添加了一些用户用于网络空间等,这是通常的事情。

向前跳过 180 天,用户开始抱怨他们的登录无效。考虑到不止一个人提出这个问题,我检查了身份验证日志,然后...... BOOM。由于密码过期,登录失败。当!

愚蠢的我没有考虑过这个特定服务器上的密码过期策略。

请注意,这些用户没有 shell 权限,但可以通过 sftp 登录来管理他们的网络空间。因此,即使他们知道密码过期,他们也不会被提醒或有更改密码的能力。据我所知,错误只是被记录在服务器端。客户端这是一个通用的身份验证错误。

如何轻松查询服务器以获取所有用户的密码到期信息?

获得这些信息后,我可以轻松查看哪些用户受到影响,哪些用户将来会受到影响。

Zor*_*che 6

像这样的命令应该向您显示在您的/etc/passwd.

cut -f 1 -d: /etc/passwd | xargs -n 1 -I {} bash -c " echo -e '\n{}' ; chage -l {}"
Run Code Online (Sandbox Code Playgroud)

重要的命令是chage -l username. 这是返回用户过期状态的命令。Chage也是您用来修改过期规则的命令。根据您的系统设置,您可能需要在sudo之前添加chage