本文介绍: passwd命令用于更改设置用户密码。本质上,它将自己初始化使用Linux PAM的“passwd服务,并利用配置密码模块进行身份验证然后更新用户密码passwd命令用于设置用户认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。通过 useradd 命令创建的用户初始是没有密码的,需要通过passwd命令来为其设置密码,未设置密码的用户不能登录系统。注意:超级用户(root可以为和设置密码。而。

一、命令详解

1.命令说明

passwd命令用于更改设置用户密码。本质上,它将自己初始化使用Linux PAM的“passwd服务,并利用配置的密码模块进行身份验证,然后更新用户的密码。

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

通过 useradd 命令创建的用户初始是没有密码的,需要通过 passwd命令来为其设置密码,未设置密码的用户不能登录系统

注意:
超级用户(root可以自己其他用户设置密码。
普通用户只能为自己设置密码,且密码要求足够复杂
超级用户和普通用户自己设置口令,直接用passwd 命令,不用加用户名。

2.语法格式

passwd     [option]      [accountName]
passwd     [选项]         [用户名字]

3.选项描述

  -k, --keep-tokens       keep non-expired authentication tokens
	                      #保留未过期身份验证令牌
  -d, --delete            delete the password for the named account (root only)
                          #删除命名帐户的密码(仅限root用户)
  -l, --lock              lock the password for the named account (root only)
                          #锁定命名帐户的密码(仅限root用户)
  -u, --unlock            unlock the password for the named account (root only)
                          #解锁命名帐户的密码(仅限root用户)
  -e, --expire            expire the password for the named account (root only)
                          #指定帐户的密码过期(仅限root用户)
  -f, --force             force operation
                          #强制执行
  -x, --maximum=DAYS      maximum password lifetime (root only)
                          #最大密码有效期(仅限root用户)
  -n, --minimum=DAYS      minimum password lifetime (root only)
                          #最小密码生存期(仅限root用户)
  -w, --warning=DAYS      number of days warning users receives before password
                          expiration (root only)
                          #口令密码要到期提前警告的天数
  -i, --inactive=DAYS     number of days after password expiration when an
                          account becomes disabled (仅限root用户)
  -S, --status            report password status on the named account (root only)
                          #口令过期后多少天停用账户(仅限root用户)
  --stdin                 read new tokens from stdin (root only)
                          #从stdin读取新密码(root only)

二、命令示例

案例1:修改自身密码 passwd

无论是root,还是普通用户,改密码都可以直接输入passwd

普通用户修改自己的密码时,会要求先输入原来的密码,只有通过验证可以修改,并且普通用户修改的密码要足够复杂

[cyan@centos7 ~]$ passwd
Changing password for user cyan.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

案例2:设置普通用户的密码 passwd users

使用root可以修改普通用户密码,且不需要知道原密码,不满足密码策略要求也可以修改成功。
普通用户修改自己密码必须知道原密码,新密码必须满足密码策略规则要求。

[root@centos7 ~]#passwd cyan
Changing password for user cyan.
New password: 
BAD PASSWORD: The password is a palindrome  #不满足要求也能成功
Retype new password: 
passwd: all authentication tokens updated successfully.

案例3:显示账户密码相关信息 passwd -S

[root@centos7 ~]#passwd -S cyan
cyan PS 2023-03-06 0 99999 7 -1 (Password set, SHA512 crypt.)
cyan 表示用户名。
PS 表示密码,不是以明文显示。
2023-03-06 表示密码设定时间。
0        表示密码修改间隔时间。
99999    表示密码有效期。
7        表示警告时间。
-1       表示密码不失效。
SHA512 crypt 表示密码使用 SHA512 算法进行的加密

案例4:删除指定账户密码 passwd -d

[root@centos7 ~]#passwd -d cyan
Removing password for user cyan.
passwd: Success

案例5:锁定用户 passwd -l

使用passwd -l锁定用户后,普通用户切换登录会密码验证失败

[root@centos7 ~]#passwd -l cyan
Locking password for user cyan.
passwd: Success

案例6:解锁用户 passwd -u

[root@centos7 ~]#passwd -u cyan
Unlocking password for user cyan.
passwd: Warning: unlocked password would be empty.
passwd: Unsafe operation (use -f to force)

案例7:强制用户下次登录必须修改口令 passwd -e

[root@centos7 ~]#passwd -e cyan
Expiring password for user cyan.
passwd: Success

案例8:设置用户密码策略 -x -n -i

-x 设置密码有效期60天。
-n 密码过期7天后必须修改密码。
-i 口令过期后7天停用账户。

[root@centos7 ~]#passwd -x 60 -n 7 -i 7 cyan
Adjusting aging data for user cyan.
passwd: Success
[root@centos7 ~]#cat /etc/shadow |grep cyan
cyan:!!:0:7:60:7:7::

原文地址:https://blog.csdn.net/Cyan_Jiang/article/details/129371486

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_15373.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注