Linux命令:passwd 修改用户密码

passwd 命令详细使用

passwd修改用户账户的密码。普通用户只能修改自己的密码,超级管理员可以修改其他用户账户的密码。passwd 也会修改『账户』或者密码的有效期限。

1. 超级管理员修改其他用户密码

$ sudo passwd user1

输入两次密码,两次需要相同。密码不能少于8个字符。


2. 普通用户修改自己密码

$ passwd

先输入旧密码,再输入两次新密码。


3. 显示用户密码状态信息 【-S / --status, -a / --all】

$ passwd -S #列出当前用户信息
$ sudo passwd --status user1 #列出user1的信息
$ sudo passwd -S -a #列出所有用户信息
$ sudo passwd --status --all #列出所有用户信息

user1 P 01/25/2024 0 99999 7 -1
包含7个字段。第一个字段是登录名,第二个字段表示『锁定密码』(L)、没有密码(NP)、密码可用(P),第三个字段表示最后一次修改密码的日期,第四个字段是最小年龄,第五个字段是最大年龄,第六个字段是警告期,第七个字段是禁用期。


4. 删除用户密码 【-d / --delete】

$ sudo passwd -d user1
$ sudo passwd --delete user2

用户密码状态变为 NP ,登录不再需要密码。


5. 设置用户密码过期 【-e / --expire】

$ sudo passwd -e user1
$ sudo passwd --expire user2

设置用户密码过期后,用户下次登录后必须先设置新密码。“您必须立即更改密码(管理员强制)。


6. 设置用户密码被设置过期后多久禁用 【-i / --inactive】

$ sudo passwd -i 1 user1
$ sudo passwd --inactive 3 user2

设置用户账户被设置为过期后,再过多少天就不能登录了。这个命令会影响 -S 命令输出的账户密码状态信息的第七个字段。 sudo passwd -S user1 显示 “user1 P 01/25/2024 0 99999 7 1 ”。


7. 锁定用户密码 【-l / --lock】

$ sudo passwd -l user1
$ sudo passwd --lock user2

锁定用户的账号密码(背后是更改了密码,在密码前加了一个“!”)。注意这个命令不会禁用用户的账户,用户仍然可以使用另外的认证 token (比如一个 SSH key)来登录。要禁用账户,应使用 $ sudo usermod --expiredate 1 命令(这会设置用户的『账户』过期日期为1970年1月2号)。


8. 解锁用户密码 【-u / --unlock】

$ sudo passwd -u user1
$ sudo passwd --unlock user2

解锁用户密码(背后是将密码改回 -l 之前)


9. 设置用户密码修改间隔的最小天数 【-n / --mindays】

$ sudo passwd -n 1 user1
$ sudo passwd --mindays 3 user2

距离上次修改密码后的这个天数内,不允许用户修改密码。此命令会更改 -S 命令输出的密码状态信息的七个字段中的第四个字段。


10. 设置用户密码保持有效的最大天数 【-x / --maxdays】

$ sudo passwd -x 10 user1
$ sudo passwd --maxdays 10000 user2

当距离上次修改密码之后这么多天后,用户被要求更改密码。此命令会更改 -S 命令输出的密码状态信息的七个字段中的第五个字段。


11. 设置用户密码到期之前警告的天数 【-w / --warndays】

$ sudo passwd -w 15 user1
$ sudo passwd --warndays 20 user2

设置用户密码过期之前多少天提出警告。此命令会更改 -S 命令输出的密码状态信息的七个字段中的第六个字段。如果到了这个期限内,登录时会提示:“警告:您的密码将在 10 天后过期。”

(完)Created by Flamer王

posted on 2024-01-25 10:49  Flamer王  阅读(3372)  评论(0编辑  收藏  举报

导航