没有 GUI?只用命令行(CLI)管理密码!

没有 GUI?只用命令行(CLI)管理密码!

本文翻译自 https://www.zdnet.com/article/need-to-manage-linux-passwords-on-the-command-line-no-gui-no-problem/

Guake 在 Ubuntu Budgie 上打开。

我绝对不会告诉你有多少次我不得不在没有 GUI 程序的情况下管理 Linux 中的用户密码。无论是在服务器上,还是通过 SSH 访问远程机器,知道如何使用这些命令在多个场景下都救了我一命。

好消息是,要从命令行界面 (CLI) 管理密码,你只需要知道一个命令。然而,我还要介绍另一个我认为也很重要的命令。

我将介绍这两个命令,并展示它们的强大功能。

你准备好了吗?

passwd 命令

新用户总是容易被这个命令名绊住。当我刚开始使用 Linux 时,我也花了一段时间才记住它是 passwd 而不是 password

passwd 命令允许你设置、修改密码并查看密码的状态。它还能强制用户更改密码,并锁定/解锁账户。

我将向你展示如何执行这些操作。无需担心你正在使用的发行版是什么,因为所有发行版都包含 passwd 命令。

首先,我们可以设置一个新密码。只有在用户首次在命令行创建时才需要这样做。某些发行版在创建用户时要求设置密码,而一些发行版则不要求。如果你发现 useradd 命令不要求为新用户设置密码,你可以使用以下命令创建一个密码:

1
sudo passwd 用户名

其中,用户名 是你要修改密码的用户。

管理员(root)可以修改任何用户的密码,而普通用户只能修改自己的密码。

管理员更改用户密码的命令是:

1
sudo passwd 用户名

而普通用户更改自己密码的命令是:

1
passwd

要查看密码的状态,可以使用以下命令:

1
sudo passwd -S 用户名

其中,用户名 是你要查看的用户。

该命令的输出将包括用户名、状态、上次更改日期、密码最小年龄、最大年龄、警告期和不活动期。

你还可以使用以下命令查看所有用户的密码状态:

1
sudo passwd -Sa

此命令还包括系统账户。

我们还可以强制某用户更改密码,使用的命令是:

1
sudo passwd -e 用户名

下次该用户登录时,将被提示输入当前密码,并设置新密码。

最后,你可以使用 passwd 命令锁定和解锁用户账户。锁定账户的命令是:

1
sudo passwd -l 用户名

该用户将无法登录。解锁账户的命令是:

1
sudo passwd -u 用户名

chage 命令

chage 命令用于管理密码的到期时间。为什么要使用 chage 命令而不是 passwd 命令呢?简单来说,chage 命令为你提供了更多的密码过期控制。当你需要在 Linux 系统上创建临时账户时,这非常有用。你可以设置密码在特定时间过期,届时该用户将无法登录。这在你有客人需要临时账户或者公司员工即将离职时特别有帮助。

假设你想用 chage 命令强制用户在特定日期更改密码。例如,你想让用户 olivia 在 2024 年 10 月 31 日更改密码,命令如下:

1
sudo chage -d 2024-10-31 olivia

到那天,用户 olivia 登录时将被要求更改密码。

假设你想设置账户的到期日期,使用的命令如下:

1
sudo chage -E 2024-10-31 olivia

你还可以使用以下命令锁定账户:

1
sudo chage -E 0 用户名

要移除账户的到期日期,命令如下:

1
sudo chage --expiredate -1 用户名

最后,你可以指定密码更改的周期。例如,你希望某用户每 30 天更改一次密码,命令如下:

1
sudo chage -E 30 用户名

执行该命令后,该用户必须每 30 天更改一次密码。你还可以设置警告期,而不是在当天提醒,可以提前一天警告,命令如下:

1
sudo chage -W 1 用户名

你还可以使用以下命令移除密码的过期时间:

1
sudo chage -E -1 用户名

以上就是从命令行管理用户密码的全部内容。


没有 GUI?只用命令行(CLI)管理密码!
https://lixuannan.github.io/posts/34224.html
作者
CodingCow Lee
发布于
2024年11月7日
许可协议