安全技术已经取得了长足的进步,但古老的密码仍然是用于保护数据的最常用工具之一。
passwd 命令可让您更改 Linux 中的用户密码,但它可以做的远不止这些。 您可以锁定(和解锁)用户。 您可以让用户在下次登录时更改密码等等。
在本教程中,我将向您展示一些有用的 passwd 命令示例,您可以将其用作系统管理员。
passwd 命令的实际例子
passwd 命令适用于 /etc/passwd 文件。 您所做的更改会反映在此处。
Linux中的密码存储在哪里? 它以加密形式存储在 /etc/shadow 文件中。
让我们看一下 passwd 命令的一些示例。
1.更改自己的密码
要更改当前用户的密码,即您自己的帐户密码,只需输入 passwd 命令,不带任何选项。
passwd
您将被要求首先使用当前密码:
[email protected]:~$ passwd
Changing password for christopher.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
如果您输入当前密码作为新密码,系统将抛出错误信息,提示密码未更改,并再次提示您输入新密码。
2.创建root密码
许多 Linux 发行版都没有设置 root 密码。 访问 root 帐户的唯一方法是通过 sudo 或 su 命令。 这是因为像“toor”这样的默认密码会使系统容易受到攻击者的攻击。
你一定是一个 sudo 用户创建root密码:
sudo passwd root
这是输出:
[email protected]:~$ sudo passwd root
[sudo] password for christopher:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
这是正确配置用户访问权限至关重要的众多原因之一。 您不希望所有用户都能够更改您的 root 密码!
3.更改其他用户的密码
您可以在 Linux 中以 root 身份使用 passwd 命令更改用户密码或使用 sudo.
sudo passwd user_name
显然不会要求您输入旧密码。 毕竟,您正在重置密码,因为 admin,你应该能够做到这一点。
[email protected]:/home/christopher# passwd christopher
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
4.检查密码状态
您可以像这样检查用户密码的状态:
sudo passwd -S user_name
这是一个 example:
[email protected]:~$ passwd -S christopher
christopher P 06/13/2020 0 99999 7 -1
让我们回顾一下这些信息。 我将它组织成一个表格,以便于阅读。 然后我将讨论某些值的含义。
用户名 | 地位 | 上次更改日期 | 最低年龄 | 最大年龄 | 警告期 | 不活动期 |
---|---|---|---|---|---|---|
克里斯托弗 | 磷 | 2020 年 6 月 13 日 | 0 | 99999 | 7 | -1 |
我们先来看状态栏。 以下是该字段的可能选项。
地位 | 描述 |
---|---|
磷 | 可用密码 |
NP | 没有密码 |
大号 | 锁定密码 |
为设置密码规则的参数保留了一些特殊的数字。
特殊年龄数字 | 描述 |
---|---|
9999 | 永不过期 |
0 | 可以随时更改 |
-1 | 不活跃 |
在这里您可以看到警告期设置为 7 天,但由于禁用了非活动期且期限设置为永不过期,因此不会出现警告。
5.检查所有帐户的密码状态
您还可以检查系统上所有用户帐户的密码状态:
sudo passwd -Sa
6.强制用户在下次登录时更改密码
您可以使用 -e 选项立即使用户密码过期。 这将强制用户在下次登录时更改密码。
sudo passwd -e user_name
以下是强制到期的样子:
[email protected]:/home/christopher# passwd -e christopher
passwd: password expiry information changed.
现在您可以检查状态以记录更改:
[email protected]:/home/christopher# passwd -S christopher
christopher P 01/01/1970 0 99999 7 -1
如您所见,密码设置日期已更改为“01/01/1970”。 这个日期在历史上与 Unix 系统有关,因为它是“时代“ 日期。 这基本上意味着该日期是历史上的第 0 天(以 32 位为单位) Unix.
您已成功使密码过期。 下次我的帐户登录时,它将被强制更改为不同的密码。
7.锁定或解锁用户帐户
passwd 命令的 -l 选项允许您在 Linux 中锁定用户帐户:
sudo passwd -l user_name
一旦您在用户帐户上使用它,密码将不再用于授予访问权限。
[email protected]:/home/christopher# passwd -l christopher
passwd: password expiry information changed.
如前所述,您可以使用 -S 选项确认用户密码的状态。 L 代表锁定输出。
[email protected]:/home/christopher# passwd -S christopher
christopher L 06/13/2020 0 99999 7 -1
解锁用户帐户同样简单。 使用 -u 选项解锁用户:
[email protected]:/home/christopher# passwd -u christopher
passwd: password expiry information changed.
您可以确认状态。 输出中的 P 表示可用密码,即密码可以与帐户一起使用。
[email protected]:/home/christopher# passwd -S christopher
christopher P 06/13/2020 0 99999 7 -1
8.从帐户中删除密码并使其无密码
我没有看到任何实际用例,但您可以删除某个帐户的密码。 这样,该帐户就不需要密码来访问系统。 这对安全性不利。
sudo passwd -d user_name
结论
您也可以使用 -n 选项强制用户在 N 天后更改密码。 但是手动这样做是浪费时间。 相反,您应该正确配置系统的密码策略,使其适用于所有用户帐户。
您始终可以使用 -h 选项查看所有可用选项。
我希望本教程对您开始在 Linux 中使用 passwd 命令有所帮助。
与往常一样,我们很乐意听取读者关于他们感兴趣的内容的意见。请在下方发表评论并与我们分享您的想法!