相比于过去,现在的安全技术已经取得了长足的进步,但是,到目前为止,密码仍然是用于保护数据安全最常用的工具之一。
passwd 命令可以让我们在 Linux 中更改用户密码,但它不仅仅用于更改密码,还可以锁定(或者解锁)用户,也可以让用户在下次登录时更改密码。
通过 passwd 命令所作的修改,都会反映在文件 etc/passwd 中。那么,Linux 中的密码存储在哪里呢?它是以加密形式存储在 /etc/shadow 文件中的。
下面我们就介绍一些关于 passwd 命令的实际用法。
1,更改自己的密码
passwd
输入 passwd 回车后,系统会要求你输入当前密码,然后再设置一个新的密码,如下例子:
$ passwdChanging password for gliu.(current) UNIX password:Enter new UNIX password:Retype new UNIX password:passwd: password updated successfully
如果你输入当前密码(即旧密码)作为新密码,系统将抛出一条错误消息,指出密码未更改,并再次提示你输入新密码。
2,创建 root 密码
许多 Linux 发行版默认情况下都没有设置 root 密码,访问 root 用户的唯一方法就是通过 sudo 或者 su 命令。之所以这样做,是因为如果设置了比较简单的 root 密码(比如123456abc),系统会很容易受到攻击。
sudo passwd root
输出如下:
$ sudo passwd root[sudo] password for gliu:Enter new UNIX password:Retype new UNIX password:passwd: password updated successfully
正确合理的配置用户权限很重要,因为我们肯定不希望所有用户都能更改 root 密码。
3,修改其他用户的密码
sudo passwd <username>
因为你是管理员,正在重置密码,所以系统不会要求你输入旧密码:
$ passwd nobodyEnter new UNIX password:Retype new UNIX password:passwd: password updated successfully
4,检查密码状态
sudo passwd -S <username>
下面是输出:
$ passwd -S nobodynobody P 07/26/2022 0 99999 7 -1
| 用户名 | 状态 | 上次更改日期 | 最小期限 | 最大期限 | 警告期 | 非活动期 |
| nobody | P | 07/26/2022 | 0 | 99999 | 7 | -1 |
P:可用密码(Usable passwod)
NP:没有密码(No password)
L:锁定的密码(Locked password)
9999:永不过期
0:可以随时修改
-1:未激活
5,检查所有用户的密码状态
sudo passwd -Sa
6,强制用户在下次登录时更改密码
sudo passwd -e <username>
$ passwd -e nobodypasswd: password expiry information changed.
$ passwd -S nobodynobody P 01/01/1970 0 99999 7 -1
我们可以看到,密码的设置日期已更改为“1970年1月1日”,这个历史日期与 Unix 系统相关,它是一个“纪元(epoch)”日期,这基本上意味着该日期是 Unix 系统出现的第 “0”天(按32位)。
这样,就可以将用户 nobody 的密码强制过期,当该用户下次登录时,就会被系统要求修改一个新密码。
7,锁定或解锁用户账户
sudo passwd -l <username>
$ passwd -l nobody1passwd: password expiry information changed.
$ passwd -S nobody1nobody1 L 07/26/2022 0 99999 7 -1
可以看到,其状态代码为 L,表示已锁定。
$ passwd -u nobody1passwd: password expiry information changed.
# passwd -S nobody1nobody1 P 07/26/2022 0 99999 7 -1
8,删除用户密码
sudo passwd -d <username>
9,其他
我们可以使用 -n 选项来强制某个用户在 n 天内修改密码。不过这样手动操作是比较麻烦的,而且还浪费时间,所以一般情况下我们都是配置系统的密码策略,使其适用于所有的用户账户。
关于 passwd 其他的使用方法,大家可以使用 -h 选项来获取帮助信息。
以上就是本次分享的全部内容,欢迎讨论。




