欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

CentOS 基本篇章] 的用户密码设置 passwd

最编程 2024-05-04 11:03:28
...

passwd 命令:用于改变系统用户的密码。如果 passwd 命令由非 root 用户执行,那么它会询问当前用户的密码,然后设置调用该命令的用户的新密码。当此命令由超级用户 root 执行的话,就可以重新设置任何用户的密码,包括不知道当前密码的用户。

语法:# passwd {options} {user_name}

-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号

root下查看密码文件

[root@yifeng ~]#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rtkit:x:499:499:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
saslauth:x:498:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
pulse:x:497:495:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
yang:x:500:500:yang:/home/yang:/bin/bash
wang:x:502:502::/home/wang:/bin/bash
mage:x:503:503::/home/mage:/bin/bash

更改用户密码

直接输入passwd即可更换当前登录用户的密码

[root@yifeng ~]#passwd-------------------------------------(执行passwd命令)
Changing password for user root.
New password: ---------------------------------------------(输入新密码,默认不可见)
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password: ----------------------------------------(确认密码)
passwd: all authentication tokens updated successfully.------(修改成功)

root下更改其他用户密码

当你作为 root 用户登录后并运行 passwd 命令时,它默认情况下会重新设置 root 的密码,如果你在 passwd 命令后指定了用户名,它会重置该用户的密码。

[root@yifeng ~]#passwd mage--------------------------------(修改mage密码)
Changing password for user mage.
New password:  --------------------------------------------(输入新密码,默认不可见)
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:  ----------------------------------------(确认密码)
passwd: all authentication tokens updated successfully.------(修改成功)

系统用户的密码以加密的形式保存在 /etc/shadow 文件中。

显示密码状态信息

要显示用户密码的状态信息,请在 passwd 命令后使用 -S 选项。

[root@yifeng ~]#passwd -S mage
mage PS 2017-08-19 0 99999 7 -1 (Password set, SHA512 crypt.)

第一个字段显示的用户名,第二个字段显示密码状态(PS = 密码设置,LK = 密码锁定,NP = 无密码),第三个字段显示了上次修改密码的时间,后面四个字段分别显示了密码能更改的最小期限和最大期限,警告期限和没有使用该口令的时长。

加密用户

在 passwd 命令中使用 ‘-l‘ 选项能锁定用户的密码,它会在密码的起始位置加上“!”。当密码被锁定时,用户将不能更改它的密码。

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

查看mage用户信息,密码状态已锁定

[root@yifeng ~]#passwd -S mage
mage LK 2017-08-19 0 99999 7 -1 (Password locked.)

解密用户

[root@yifeng ~]#passwd -u mage
Unlocking password for user mage.
passwd: Success

删除用户的密码

删除用户mage的密码

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

查看mage用户信息,密码状态为无密码

[root@yifeng ~]#passwd -S mage
mage NP 2017-08-19 0 99999 7 -1 (Empty password.)

设置密码立即过期

在 passwd 命令中使用 '-e' 选项会立即使用户的密码过期,这将强制用户在下次登录时更改密码。
使mage用户立即过期

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

非root用户下切换至mage用户,需要重新设置密码,密码默认不可见。

[yang@yifeng root]$su mage
You are required to change your password immediately (root enforced)
New password: 
Retype new password: 
[mage@yifeng root]$ 

设置密码最短更新时间

设置mage用户必须在20天内更改密码。0表示用户可以在任何时候更改它的密码。

[root@yifeng ~]#passwd -n 20 mage
Adjusting aging data for user mage.
passwd: Success

查看mage用户详细信息,更改密码的最低时间已更新为20天

[root@yifeng ~]#passwd -S mage
mage PS 2017-08-19 20 99999 7 -1 (Password set, SHA512 crypt.)

设置密码过期前提醒

-w选项在 passwd 命令中用于设置用户的警告期限。

[root@yifeng ~]#passwd -w 5 mage
Adjusting aging data for user mage.
passwd: Success

查看mage用户信息,提醒时间设置在密码到期的五天前

[root@yifeng ~]#passwd -S mage
mage NP 2017-08-19 20 99999 5 -1 (Empty password.)

设置密码非活动时间

在 passwd 命令中使用 -i 选项用于设置系统用户的非活动时间。当用户密码过期后,用户再经过 N天后没有更改其密码,用户将不能登录。

[root@yifeng ~]#passwd -i 10 mage
Adjusting aging data for user mage.
passwd: Success

查看mage用户信息,非活动时间设置在密码到期的十天后

[root@yifeng ~]#passwd -S mage
mage NP 2017-08-19 20 99999 5 10 (Empty password.)