Linux用户密码修改方式以及chage命令

修改用户密码

在Linux操作系统中,用户密码文件位置为/etc/shadow
一般来说,修改密码通常有两种方式

标准法修改密码
命令:stdin

echo 123|passwd --stdin zhangsan

#123为修改的新密码
#zhangsan是要修改密码的用户名

使用stdin命令,在历史记录中会留存密码,因此我们通常要清除历史记录,防止密码泄露

#清除历史记录
history -c

passwd修改用户密码
1 在root用户下,对修改的密码强度无要求

passwd 要修改密码的用户名

2 在其他要修改密码的用户下,修改的密码要合乎规范

passwd

chage更改用户的账号信息

# chage --help
-l:list列出用户的详细密码状态;
-d 日期:修改 /etc/shadow 文件中指定用户密码信息的第3个字段,也就是最后一次修改密码的日期,格式为 YYYY-MM-DD;
-m 天数:修改密码最短保留的天数,也就是 /etc/shadow 文件中的第4个字段;
注:几天后才能修改一次密码
-M 天数:修改密码的有效期,也就是 /etc/shadow 文件中的第5个字段;
注:每隔多少天更新一次密码
-W 天数:修改密码到期前的警告天数,也就是 /etc/shadow 文件中的第6个字段;(大写W)
-I 天数:修改密码过期后的宽限天数,也就是 /etc/shadow 文件中的第7个字段;(大写i)
注:过期后还可以使用的天数,达到这个天数后,账号失效
-E 日期:修改账号失效日期,格式为 YYYY-MM-DD,也就是 /etc/shadow 文件中的第8个字段;

案例:新创建一个账号lamp,设置初始化密码为123456。要求用户第一次登陆后必须强制修改用户的密码。

解决思路:把密码的最后修改时间重置为0(回到1970年1月1日)

# useradd lamp
# echo 123456 |passwd --stdin lamp
# chage -d 0 lamp

案例:设置lamp账号的过期时间为2010-04-10

# chage -E "2020-04-10" lamp

拓展案例:设置lamp账号的10天后过期

# chage -E $(date +%F -d '+10 days') lamp
%F:YYYY-mm-dd,格式2020-04-01
-d:多少天以后的日期

案例:设置mysql用户60天后密码过期,至少7天后才能修改密码,密码过期前7天开始收到告警信息

# useradd mysql
# echo 123456 |passwd --stdin mysql
# chage -M 60 -m 7 -W 7 mysql

你可能感兴趣的:(Linux,linux,服务器,运维)