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

上周,朋友公司的Linux服务器密码管理出现了问题。
他使用chage命令检查用户的密码状态,输入chage -l john,然后发现John的密码状态信息中,最后一次密码修改日期为2 02 3 年3 月1 5 日,密码过期日期为2 02 3 年6 月1 5 日,并且在密码过期前三天会有警告。

然后他想要调整密码策略,并使用 sudo chage -m 7 john 将密码更改的最小间隔设置为 7 天。
但是,我发现他忘记设置密码更改的最大间隔,所以我教他使用 sudo chage -M 9 0 john 将密码更改的最大间隔设置为 9 0 天。

他还想设置上次更改密码的日期,并使用 sudo chage -d 0 john 强制 john 在下次登录时更改密码。
此命令对于确保用户定期更改密码很有用。

然后我要求他通过修改/etc/login.defs文件来设置全局密码策略。
例如,他将PASS_MAX_DAYS设置为9 0,PASS_MIN_DAYS设置为7 ,PASS_WARN_AGE设置为7 但是,他必须记住,此配置只会影响新创建的用户,现有用户需要使用chage命令单独调整。

最后我还提醒他,要配置密码复杂度策略,必须修改/etc/pam.d/common-password文件。
不过这部分我不太清楚,所以我让他查一下相关的文件。

权限方面,修改密码策略需要root权限,一般使用sudo。
从有效范围来看,全局策略仅影响新用户,现有用户需要单独对待。
在综合管理方面,需要根据用户需求、安全要求、系统配置等综合制定密码策略。

过程有点复杂,但他学会了如何全面审核和管理Linux用户的密码状态和策略,以确保系统合规性和安全性。
对了,他还问我,如果密码策略设置得太严格,会不会影响用户体验?我告诉他,你去了解一下,有时候你需要在安全和方便之间找到一个平衡点。
没关系。

如何在 Linux 为系统用户设置密码复杂度策略

上周有客户问我如何在Linux系统上设置用户密码复杂度策略。
我最近正好在研究这个课题,所以就给他详细解释了一下。
首先,您需要确保您的Linux系统上安装了PAM(可插拔身份验证模块),因为现在几乎所有Linux发行版都使用它。

我告诉他第一步是安装PAM的cracklib模块。
该模块提供密码控制的附加功能。
对于 Debian、Ubuntu 或 LinuxMint 系统,您可以使用以下命令安装它:sudo apt-get install libpam-cracklib。
然而,像CentOS、Fedora和RHEL这样的系统通常默认安装这个模块,所以你不需要手动安装它。

接下来,要强制执行密码策略,您需要修改 /etc/pam.d 目录中的 PAM 配置文件。
政策变更后,立即生效。
但请注意,本教程中的密码策略仅对非root用户有效,对root用户无效。

然后我教他如何禁止用户使用旧密码。
您需要找到同时包含“password”和“pam_unix.so”字段并附加“remember=5 ”字段的行。
此设置意味着禁止用户使用最近使用过的 5 个密码。
这些使用过的密码将存储在 /etc/security/opaswd 下。

对于Debian、Ubuntu或LinuxMint系统,操作如下:
1 .打开终端。
2 . 使用文本编辑器打开 PAM 配置文件,例如 sudo nano /etc/pam.d/common-password。
3 . 找到包含 pam_unix.so 的行并记住=5 4 . 确保此行存在并根据需要调整数字,例如如果您想记住更多旧密码,请将其更改为记住=1 0
最后,保存并关闭文件。
这样,您的 Linux 系统将开始实施密码复杂性策略。
不管怎样,就看你了,记得重启服务或者重新登录系统,让这些设置生效。
我还在思考这个问题。
如果以后其他用户有类似的问题,我可以继续帮助他们解答。