使用
-d 0 username命令强制用户下次登录修改密码,通过修改chage中密码最后修改日期为0实现;可用/etc/shadow-l username验证;chagechage-M 90设置密码90天后过期,chage-W 7设置过期前7天警告;禁用密码用passwd -l username,启用用passwd -u username。

Linux强制用户下次登录修改密码,主要通过修改
/etc/shadow
文件中的密码过期时间来实现。
解决方案:
要强制用户下次登录时修改密码,可以使用
chage
命令。这个命令允许你管理用户的密码过期信息。
-
使用
-d 0chage<username>命令: 这个命令将用户的密码最后修改日期设置为 0,强制用户下次登录时更改密码。
<username>替换为实际的用户名。例如:
-d 0 johnchage -
验证更改: 使用
-lchage<username>命令查看用户的密码过期信息,确认更改是否生效。
-
修改
/etc/shadow文件(不推荐直接修改): 虽然可以直接编辑
/etc/shadow文件,但不推荐这样做,因为容易出错,而且格式要求严格。如果非要修改,找到对应用户的行,修改第二个字段(密码字段)和第三个字段(最后修改日期)来实现。
如何设置密码过期时间?
chage
命令还可以设置密码过期时间,例如设置密码在90天后过期:
chage-M 90<username>
-M 90
表示密码在90天后过期。
如何设置密码过期前的警告天数?
你还可以设置密码过期前的警告天数,让用户在密码过期前收到提醒:
chage-W 7<username>
-W 7
表示密码过期前7天开始警告用户。
如何禁用用户的密码?
如果你想禁用用户的密码,可以使用
passwd -l <username>
命令。这将锁定用户的密码,用户将无法使用密码登录。要重新启用密码,可以使用
passwd -u <username>
命令。注意,禁用密码并不意味着禁用用户账户,用户仍然可以使用其他认证方式(例如 SSH 密钥)登录。


