password 功能说明:此命令可以修改用户密码及密码过期时间等内容。
普通用户和超级用户都可以运行此命令,但普通用户只能更改自身的用户密码,超级用户root则可以设置或修改所有用户的密码。
说明:
root用户可以修改任何用户的密码,普通用户只能修改自身的密码。
root用户修改密码时,如果不符合系统密码规则,则给出警告信息,但密码设置仍然生效。普通用户修改密码时,如果使用弱密码,则给出告警信息,且修改无效。
参数选项:
-l 锁定用户,被锁定的用户将不能登录。仅root用户有权使用该选项。
--stdin 从标准输入读取密码字符串。
-u 解除用户的锁定。仅root用户有权使用该选项。
-d 删除用户的密码,使密码为空。仅root用户有权使用该选项。
-e 使用户密码立即过期,将在用户下次登录时强制要求用户修改密码。仅root用户有权使用该选项。
-n 设置修改密码的最短天数。仅root用户有权使用该选项。
-x 设置修改密码的最长天数。仅root用户有权使用该选项。
-w 设置用户在密码过期前收到告警信息的天数。仅root用户有权使用该选项。
-i 设置密码过期多少天后禁用账户。仅root用户有权使用该选项。
-S 显示用户密码相关的简单描述。仅root用户有权使用该选项。
使用管道配合stdin一条命令修改密码
[root@testdb62 backup]# echo "123456"|passwd --stdin scottuser
Changing password for user scottuser.
passwd: all authentication tokens updated successfully.
设置用户7天内不能更改密码,60天后必须修改密码,过期前10天通知用户,过期后30天禁止用户登录。
[root@testdb62 backup]# passwd -n 7 -x 60 -w 10 -i 30 scottuser
Adjusting aging data for user scottuser.
passwd: Success
[root@testdb62 backup]# chage -l scottuser
Last password change                    : Dec 21, 2020
Password expires                    : Feb 19, 2021
Password inactive                    : Mar 21, 2021
Account expires                        : never
Minimum number of days between password change        : 7
Maximum number of days between password change        : 60
Number of days of warning before password expires    : 10