没有 GUI?只用命令行(CLI)管理密码!
没有 GUI?只用命令行(CLI)管理密码!
本文翻译自 https://www.zdnet.com/article/need-to-manage-linux-passwords-on-the-command-line-no-gui-no-problem/
我绝对不会告诉你有多少次我不得不在没有 GUI 程序的情况下管理 Linux 中的用户密码。无论是在服务器上,还是通过 SSH 访问远程机器,知道如何使用这些命令在多个场景下都救了我一命。
好消息是,要从命令行界面 (CLI) 管理密码,你只需要知道一个命令。然而,我还要介绍另一个我认为也很重要的命令。
我将介绍这两个命令,并展示它们的强大功能。
你准备好了吗?
passwd 命令
新用户总是容易被这个命令名绊住。当我刚开始使用 Linux
时,我也花了一段时间才记住它是 passwd
而不是
password
。
passwd 命令允许你设置、修改密码并查看密码的状态。它还能强制用户更改密码,并锁定/解锁账户。
我将向你展示如何执行这些操作。无需担心你正在使用的发行版是什么,因为所有发行版都包含
passwd
命令。
首先,我们可以设置一个新密码。只有在用户首次在命令行创建时才需要这样做。某些发行版在创建用户时要求设置密码,而一些发行版则不要求。如果你发现
useradd
命令不要求为新用户设置密码,你可以使用以下命令创建一个密码:
1 |
|
其中,用户名
是你要修改密码的用户。
管理员(root)可以修改任何用户的密码,而普通用户只能修改自己的密码。
管理员更改用户密码的命令是:
1 |
|
而普通用户更改自己密码的命令是:
1 |
|
要查看密码的状态,可以使用以下命令:
1 |
|
其中,用户名
是你要查看的用户。
该命令的输出将包括用户名、状态、上次更改日期、密码最小年龄、最大年龄、警告期和不活动期。
你还可以使用以下命令查看所有用户的密码状态:
1 |
|
此命令还包括系统账户。
我们还可以强制某用户更改密码,使用的命令是:
1 |
|
下次该用户登录时,将被提示输入当前密码,并设置新密码。
最后,你可以使用 passwd
命令锁定和解锁用户账户。锁定账户的命令是:
1 |
|
该用户将无法登录。解锁账户的命令是:
1 |
|
chage 命令
chage
命令用于管理密码的到期时间。为什么要使用
chage
命令而不是 passwd
命令呢?简单来说,chage
命令为你提供了更多的密码过期控制。当你需要在 Linux
系统上创建临时账户时,这非常有用。你可以设置密码在特定时间过期,届时该用户将无法登录。这在你有客人需要临时账户或者公司员工即将离职时特别有帮助。
假设你想用 chage
命令强制用户在特定日期更改密码。例如,你想让用户 olivia 在 2024 年 10 月
31 日更改密码,命令如下:
1 |
|
到那天,用户 olivia 登录时将被要求更改密码。
假设你想设置账户的到期日期,使用的命令如下:
1 |
|
你还可以使用以下命令锁定账户:
1 |
|
要移除账户的到期日期,命令如下:
1 |
|
最后,你可以指定密码更改的周期。例如,你希望某用户每 30 天更改一次密码,命令如下:
1 |
|
执行该命令后,该用户必须每 30 天更改一次密码。你还可以设置警告期,而不是在当天提醒,可以提前一天警告,命令如下:
1 |
|
你还可以使用以下命令移除密码的过期时间:
1 |
|
以上就是从命令行管理用户密码的全部内容。