通过终端管理密码相对简单。在 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 中强制用户更改密码
默认情况下,在 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。
如何在 Linux 中删除用户密码
如果要使用户帐户无密码,可以在命令中使用-d( --delete) 选项。passwd这是禁用帐户密码的快速方法。
例如,键入以下命令以删除名为 的用户的用户密码linux:
[linuxmi@fedora www.linuxmi.com]$ sudo passwd -d linux
清除用户的密码 linux。
passwd: 操作成功
上面的命令删除用户的密码(使其为空)。虽然这是可能的,并且你可以拥有一个没有密码的帐户,但不建议这样做,因为任何人都只能输入帐户用户名才能访问系统。
如你所见,系统不再需要密码来对用户进行身份验证linux。
如何在 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)。
第三个字段给出了最后一次密码更改的日期。
第四个字段是可以更改之前的最短密码生命周期。
第五个字段是必须更改之前的最长密码生命周期。
第六个字段是密码有效期到期前用户将开始收到警告的天数。
第七个字段是禁用用户时密码有效期到期后的天数。