如何在 Linux 上使用 passwd 命令并举例
了解如何使用 Linux 的 passwd 命令更改、删除或禁用密码,从而增强安全管理。
在 Linux 中可用的众多命令中,passwd
命令作为基本工具脱颖而出。它的主要功能是更改与用户帐户关联的密码,这对于维护 Linux 环境中的安全性和用户身份验证至关重要。
此外,passwd 命令还提供了每个 Linux 系统管理员工具包中必不可少的附加高级功能。以下是其功能的简要概述:
- 更改密码:
passwd
命令最常见的用途是更改用户帐户的密码。用户可以更改密码,root 用户(管理员)可以更改任何帐户的密码。 - 设置密码策略:它还可用于设置密码时效策略,确定密码必须更改的频率以及密码何时过期。
- 锁定和解锁用户帐户:
passwd
命令可以锁定和解锁用户帐户。锁定帐户会阻止用户登录,这对于管理目的或安全措施很有帮助。 - 显示密码信息:可以显示有关用户密码的信息,例如上次更改时间和密码到期日期。
从基本的密码更改到密码时效和锁定帐户等更高级的功能,本指南旨在为您提供有效管理用户密码的知识和技能,从而增强系统的安全性。
在我们开始之前有必要澄清一下!请记住,您只能作为普通用户管理您的密码。同时,root 用户和具有 sudo 权限的用户可以管理其他用户的密码并定义密码的使用方式。
有关如何将用户添加到“sudo”组的信息,请参阅此处的指南。
此外,如果您忘记了 root 密码,我们的简单易懂的指南“如何在 Linux 中重置忘记的 root 密码”提供了简单快速的步骤来帮助您轻松更改它。
强密码提示
创建强密码对于保护您的帐户和个人信息至关重要。以下是一些帮助您创建有效、安全密码的一般提示:
- 长度很重要:目标是至少 12 个字符。密码越长,黑客就越难破解。
- 混合使用:混合使用大小写字母、数字和符号。
- 避免常用词:避免使用容易猜到的信息,例如生日或常用词。
- 使用密码短语:考虑密码短语 - 单词序列或句子。它可以更容易记住并且更难破解。
如何更改您的密码
在 Linux 中,任何用户都可以随时更改其密码。要更改您自己用户的帐户密码,请运行不带任何参数的 passwd
命令:
passwd
输入此命令后,系统将提示您验证当前密码。然后,如果您的密码正确,该命令将提示您输入并确认新密码。此步骤可确保您没有犯任何输入错误。
当您成功输入两次新密码后,系统将更新您的密码,您将看到一条确认消息,表明密码已成功更改。
如何更改其他用户的密码
虽然它通常用于更改密码,但 passwd
命令还允许管理员更改其他用户的密码。
因此,如果您是拥有许多用户的系统管理员,有时用户会忘记密码,您或具有 sudo 权限的人将需要重置其密码。
例如,要更改名为“james”的用户的密码,请键入 passwd
,后跟要更改其密码的帐户的用户名,在我们的示例中为“ 詹姆斯。”
sudo passwd james
您可能已经注意到,更改密码时,系统会提示您输入当前密码。然而,在这种情况下,我们只需要输入并验证用户的新密码,而不需要现有的密码。
换句话说,passwd 命令不会要求您提供旧密码,因为您是以具有 sudo 权限的用户身份执行的。因此,您可以更改任何用户的密码,而无需知道旧密码。
如何在 Linux 中强制用户更改密码
默认情况下,在 Linux 中,密码设置为永不过期。因此,除了设置或更改用户的密码之外,passwd
命令还可以强制用户在下次登录时更改密码。
为此,必须首先将密码标记为过期。这可以通过在 passwd
命令中使用 -e
(--expire
) 选项来实现,后跟我们想要的用户名将密码标记为已过期。
例如,要更改名为“james”的用户的过期密码,请使用以下命令:
sudo passwd -e james
接下来,借助 chage
命令,我们可以验证用户 james 的密码是否过期。最后,chage 命令查看并更改用户密码到期信息。
sudo chage -l james
从上面的输出可以看出,用户密码需要更改。因此,当用户“james”尝试再次登录时,系统会提示他更改密码,然后才能访问 shell,如下屏幕所示:
如何在 Linux 中删除用户密码
要使用户帐户无密码,请在 passwd
命令中使用 -d
(--delete
) 选项。这是禁用帐户密码的快速方法。
例如,键入以下命令删除名为“james”的用户的用户密码:
sudo passwd -d james
上面的命令删除用户的密码(将其清空)。虽然这是可能的,并且您可以拥有一个没有密码的帐户,但不建议这样做,因为任何人都只能输入帐户用户名来访问系统。
正如您所看到的,系统不再需要密码来对用户“james”进行身份验证。
如何在 Linux 中禁用用户密码
您可以通过锁定帐户密码来阻止用户登录。使用添加了 -l
(--lock
) 选项的 passwd
命令,后跟用户名。
sudo passwd -l james
-l
选项通过将密码更改为与可能的加密值不匹配的值来禁用密码。结果,用户将无法登录。
因此,当用户“james”下次尝试登录时,他们的密码会被拒绝,并且会收到身份验证错误。
当然,如果用户“james”通过基于公钥/私钥交换的无密码 SSH 连接进行身份验证,则禁用密码不会阻止他对系统的访问。
因此,将用户 shell 设置为“nologin”以避免安全问题也是一个好主意:
sudo usermod -s /usr/sbin/nologin james
您可以使用 -u
(--unlock
) 开关来解锁用户“james”帐户。
sudo passwd -u james
然后将其登录 shell 重置回“/bin/bash”。
sudo usermod -s /bin/bash james
检查用户密码的状态
在审计和内务管理方面,检查用户密码的状态对于系统管理员来说是一个很有价值的工具。
因此,让我们检查一下用户“james”的用户密码状态。首先,打开终端并使用 -S
(--status
) 开关运行 passwd
命令。
sudo passwd -S james
正如您所看到的,状态信息由七个字段组成。那么,让我们一一分解。
- 第一个字段是用户的登录名。
- 第二个字段指示用户帐户是否有锁定密码 (L)、无密码 (NP) 或可用密码 (P)。
- 第三个字段给出最后一次密码更改的日期。
- 第四个字段是密码更改前的最短生命周期天数。
- 第五个字段是必须更改密码之前的最长密码生命周期天数。
- 第六个字段是密码有效期到期之前用户将开始收到警告的天数。
- 第七个字段是当用户被禁用时密码有效期到期后的天数。
此外,如果您想列出所有用户的密码状态,-Sa
开关会很有帮助。
sudo passwd -Sa
我们可以在这里看到 Linux 机器上的所有用户,但三个真实用户是“root”、“linuxiac”和“james” >。”
结论
Linux中的passwd
命令是有效安全管理不可或缺的工具。通过本文,我们探索了它的各种功能并演示了如何有效地使用它们。
您已经学习了如何在 Linux 中更改、删除或禁用用户的密码。此外,现在您知道如何检查用户密码的状态。此处给出的指南适用于任何 Linux 发行版。
您可以前往该命令的手册页,了解有关 Linux 中 passwd
命令的更多详细信息。