修改密码 passwd

本文详细介绍了Linux系统中用于管理用户密码的passwd命令,包括设置、修改、删除、锁定和解锁用户密码的操作,以及密码策略的设置。通过多个实例展示了root用户和普通用户如何使用passwd命令,并提到了密码复杂性要求和账户状态检查。
摘要由CSDN通过智能技术生成

一、命令详解


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::

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cyan_Jiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值