# passwd - 用于让用户可以更改自己的密码

passwd命令 用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

更改用户密码,超级用户可以修改所有用户密码,普通用户只能修改自己的密码。这个任务是通过调用LinuxPAM和LibuserAPI来完成的。本质上,它使用LinuxPAM将自己初始化为一个“passwd”服务,并利用配置的密码模块对用户的密码进行身份验证和更新。

# 适用范围

RedHat
RHEL
Ubuntu
CentOS
Debian
Deepin
SUSE
openSUSE
Fedora
Linux Mint
Alpine Linux
Arch Linux

# 语法

passwd  [选项]  user

passwd  [-k]  [-l]  [-u  [-f]]  [-d]
        [-e]  [-n mindays]  [-x maxdays]
        [-w warndays]  [-i inactivedays]
        [-S]  [--stdin]  [username]

# 选项

-d                # 删除用户的密码,只有root用户才能使用
-e                # 使用户密码失效,强制用户下次登录改变密码,只有root用户才能使用
-n                # 设置密码的最短有效时间,只有root用户才能使用
-x                # 设置密码最大有效时间,只有root用户才能使用
-S                # 显示简短的密码信息,只有root用户才能使用
-l                # 锁定用户,只有root用户才能使用
-u                # 解锁用户,只有root用户才能使用
-k                # 选项-k用于指示更新只适用于过期的身份验证令牌(密码);用户希望像以前一样保留其未过期的令牌。
-i                # 这将设置此帐户的过期密码将被视为不活动的天数,如果用户帐户支持密码生存期,则应禁用该帐户。只对根用户可用。
-w                # 这将设置用户将开始收到警告,如果用户帐户支持密码生存期,其密码将过期的天数。只对根用户可用。
--stdin           # 此选项用于指示passwd应从标准输入中读取新密码,该输入可以是管道。

--help            # 显示帮助文档
--version         # 显示命令版本信息

# 举例

锁定用户,锁定之后不能登录

[root@bogon 文档]$ passwd -l sogrey  #锁定用户
锁定用户 sogrey 的密码 。
passwd: 操作成功
[root@bogon 文档]$ passwd -u sogrey  #解锁用户
解锁用户 sogrey 的密码 。
passwd: 操作成功

删除用户密码

[root@bogon 文档]$ passwd -d sogrey  #清除用户sogrey密码
清除用户的密码 sogrey
passwd: 操作成功
[root@bogon 文档]$ su user01     #切换到普通用户user01
[user01@bogon 文档]$ su sogrey    #从普通用户user01切换到普通用户sogrey,不需要密码
[sogrey@bogon 文档]$