共计 2813 个字符,预计需要花费 8 分钟才能阅读完成。
导读 | 本文将介绍 Linux 中的 passwd 命令,并学习如何更改、删除或禁用用户密码。 |
通过终端管理密码相对简单。在 Linux 中,你可以使用 passwd 实用程序管理用户密码,该实用程序旨在管理密码。
在本指南中,我们还将学习该 passwd 命令的一些高级参数,这将帮助你更有效地使用它并让你的生活更轻松。
请记住,你只能以普通用户的身份管理你的密码。但是,root 用户和具有 sudo 权限的用户可以管理其他用户的密码并定义如何使用密码。
在 Linux 中,任何用户都可以随时更改其密码。要更改你自己用户的帐户密码,请运行 passwd 不带任何参数的命令:
[linuxmi@fedora www.linuxmi.com]$ passwd
更改用户 linuxmi 的密码。当前的密码:新的密码:重新输入新的密码:passwd:所有的身份验证令牌已经成功更新。
系统将要求你提供当前密码。然后,如果你的密码正确,该命令将提示你输入并确认你的新密码。
如果你是一个拥有许多用户的系统管理员,那么用户有时会忘记他们的密码,你或具有 sudo 权限的人将需要重置他们的密码。
再一次,正如我们在介绍中所说,只有 root 用户和具有 sudo 访问权限的用户才能更改另一个用户帐户的密码。
因此,下面的示例假设你以具有 sudo 权限的用户身份登录。
运行 passwd 命令,后跟用户名,以更改另一个用户帐户的密码。
例如,要更改名为 的用户的密码 linux,请使用以下命令:
[linuxmi@fedora www.linuxmi.com]$ sudo passwd linux
更改用户 linux 的密码。新的密码:重新输入新的密码:passwd:所有的身份验证令牌已经成功更新。
系统只会要求你输入并确认新用户的密码。
该 passwd 命令不会要求你输入旧密码,因为你以具有 sudo 权限的用户身份执行。因此,你可以更改任何用户的密码,而无需知道旧密码。
默认情况下,在 Linux 中,密码设置为永不过期。因此,除了设置或更改用户密码外,该 passwd 命令还可用于强制用户在下次登录时更改密码。
为此,必须首先将密码标记为过期。这可以通过在命令中使用 -e(–expire) 选项来实现 passwd,后跟我们要将密码标记为过期的用户名。
例如,要将名为 的用户的密码更改为已过期 linux,请使用以下命令:
[linuxmi@fedora www.linuxmi.com]$ sudo passwd -e linux
[sudo] linuxmi 的密码:正在终止用户 linux 的密码。passwd: 操作成功
接下来,在 chage 命令的帮助下,我们可以验证用户 linux 的密码是否过期。最后,该 chage 命令用于查看和更改用户密码到期信息。
[linuxmi@fedora www.linuxmi.com]$ sudo chage -l linux
最近一次密码修改时间:密码必须更改
密码过期时间:密码必须更改
密码失效时间:密码必须更改
帐户过期时间:从不
两次改变密码之间相距的最小天数:0
两次改变密码之间相距的最大天数:99999
在密码过期之前警告的天数:7
从上面的输出可以看出,用户的密码需要修改。因此,当用户 linux 再次尝试登录时,会提示他更改密码才能访问 shell。
如果要使用户帐户无密码,可以在命令中使用 -d(–delete) 选项。passwd 这是禁用帐户密码的快速方法。
例如,键入以下命令以删除名为 的用户的用户密码 linux:
[linuxmi@fedora www.linuxmi.com]$ sudo passwd -d linux
清除用户的密码 linux。passwd: 操作成功
上面的命令删除用户的密码(使其为空)。虽然这是可能的,并且你可以拥有一个没有密码的帐户,但不建议这样做,因为任何人都只能输入帐户用户名才能访问系统。
如你所见,系统不再需要密码来对用户进行身份验证 linux。
你可以通过锁定帐户密码来阻止用户登录。使用添加了 () 选项的 passwd 命令,后跟用户名。-l–lock
[linuxmi@fedora www.linuxmi.com]$ sudo passwd -l linux
锁定用户 linux 的密码。passwd: 操作成功
该 - l 选项通过将密码更改为与可能的加密值不匹配的值来禁用密码。结果,用户将无法登录。
因此,当用户 linux 下次尝试登录时,他们的密码被拒绝,并且他们收到一个身份验证错误。
当然,如果用户通过基于公钥 / 私钥交换的无密码 SSH 连接 linux 进行身份验证,则禁用密码不会阻止他对系统的访问。
因此,另外,设置用户 shell 以 nologin 避免安全问题也是一个好主意:
[linuxmi@fedora www.linuxmi.com]$ sudo usermod -s /usr/sbin/nologin linux
你可以使用 -u(–unlock) 开关解锁用户 linux 帐户。
[linuxmi@fedora www.linuxmi.com]$ sudo passwd -u linux
解锁用户 linux 的密码。passwd: 警告:未锁定的密码将是空的。passwd: 不安全的操作 (使用 -f 参数强制进行该操作)
然后将其登录 shell 重置回 /bin/bash。
[linuxmi@fedora www.linuxmi.com]$ sudo usermod -s /bin/bash linux
在审计和内务管理方面,检查用户密码的状态对于系统管理员来说是一个有价值的工具。
因此,让我们检查 user 的用户密码的状态 linux。首先,打开终端并使用 () 开关运行 passwd 命令。-S–status
[linuxmi@fedora www.linuxmi.com]$ sudo passwd -S linux
linux LK 2022-04-17 0 99999 7 -1 (密码已被锁定。)
如你所见,状态信息由七个字段组成。因此,让我们一一分解它们。
第一个字段是用户的登录名。
第二个字段指示用户帐户是否具有锁定密码 (L)、没有密码 (NP) 或具有可用密码 (P)。
第三个字段给出了最后一次密码更改的日期。
第四个字段是可以更改之前的最短密码生命周期。
第五个字段是必须更改之前的最长密码生命周期。
第六个字段是密码有效期到期前用户将开始收到警告的天数。
第七个字段是禁用用户时密码有效期到期后的天数。
在本指南中,你了解了如何在 Linux 中更改、删除或禁用用户密码。此外,现在你知道如何检查用户密码的状态了。本快速指南中给出的指导应该适用于任何 Linux 发行版。
有关 Linux 中该命令的更多详细信息 passwd,你可以前往该命令的手册页。