如何在 Linux 命令行中锁定和解锁用户如何在 Linux 命令行中锁定和解锁用户如何在 Linux 命令行中锁定和解锁用户如何在 Linux 命令行中锁定和解锁用户
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Linux 命令行中锁定和解锁用户

发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 中锁定用户帐户?更重要的是,如何在 Linux 中解锁用户?了解在 Linux 命令行中锁定和解锁用户的各种方法。

在 Linux 中锁定和解锁用户帐户的 3 种方法

您想要在多用户 Linux 环境中禁用用户的原因可能有多种。也许员工离开了组织,而不是完全删除用户,而是锁定帐户以用于存档目的。

在本教程中,我将向您展示在 Linux 命令行中锁定用户的三种方法。我还将讨论如何解锁用户。

请注意,要执行这些更改,您需要root 权限或通过 sudo 拥有 root 访问权限.

方法一:使用passwd命令锁定和解锁用户

Linux 中的 passwd 命令处理用户帐户的密码。您还可以使用此命令来锁定用户帐户。

该命令基本上适用于 /etc/passwd 文件。您可以手动修改此文件,但我建议不要这样做。

要使用 passwd 命令锁定用户,您可以按以下方式使用选项 -l 或 –lock:

passwd -l user_name

使用 passwd 命令验证用户的状态

您可以使用 passwd 命令的 -S 或 –status 选项了解用户是否被锁定或解锁。

passwd -S user_name

查看输出中的第二个字段。它的含义如下:

– P 或 PS:已设置密码(用户已解锁)
– L 或 LK:用户已锁定
– N 或 NP:用户不需要密码

以下是 passwd 命令的输出示例:

标准 P 10/14/2019 0 99999 7 -1

要使用 passwd 命令解锁用户,可以使用选项 -u 或 –unlock:

passwd -u user_name

在 Ubuntu 上,您将看到这样的输出,用于锁定和解锁用户:

passwd: password expiry information changed

通过 SSH 登录怎么样?

以这种方式锁定用户存在一个主要问题。由于它仅适用于 /etc/passwd 文件,因此锁定的用户仍然可以通过 SSH 密钥登录(如果设置了通过 SSH 密钥登录)。我将在下一节中向您展示如何处理它。

方法二:使用usermod命令锁定和解锁用户

您还可以使用 usermod 命令。该命令主要用于修改Linux中的用户帐户。您还可以通过使用 usermod 锁定或解锁来修改用户的状态。

要锁定用户,您可以按以下方式使用 -L 选项:

usermod -L user_name

要解锁用户,可以使用 -U 选项:

usermod -U user_name

如何验证用户是否被锁定? usermod 命令也适用于 /etc/passwd 文件,因此您可以使用 passwd -S user_name 命令来检查用户的状态。

但 usermod 还可以使用 /etc/passwd 文件,因此这意味着锁定的用户仍然可以通过 SSH 密钥登录,对吧?这是正确的。但有一些方法可以克服这个问题。

例如,您可以将用户的 shell 更改为 nologin,这将不允许用户登录到 shell。

另一种方法是锁定用户并提供过去的过期日期。它的作用是在过去的日期禁用该帐户,然后将其锁定。

确保过去的日期在 1970-01-02 和当前日期之间。

usermod -L --expiredate 1970-01-02 user_name

您可以使用以下命令反转它:

usermod -U --expiredate '' user_name

Linux 中也有类似的方法可以使用 chage 命令来锁定用户。让我们在下一节中看看。

方法三:使用chage命令锁定和解锁用户

chage命令用于更改用户密码过期信息。它可用于在不活动一定天数后自动锁定不活动用户。

基本上,您在上一节中使用 usermod 命令所做的操作可以通过 chage 命令来实现,如下所示:

chage -E 1 username

基本上,您已将过期日期设置为 1970-01-02。您可以看到这样的详细信息:

abhishek@linux:~$ sudo chage -l standard
Last password change					: Nov 07, 2019
Password expires					: never
Password inactive					: never
Account expires						: Jan 02, 1970
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

您可以删除到期日期,从而通过以下方式解锁用户:

chage -E -1 username

最后……

与往常一样,有多种方法可以在 Linux 命令行中完成任务。我在这里展示了三种在 Linux 中锁定和解锁用户的方法。您知道更好的方法还是有一些锁定用户的最佳实践建议?请在评论部分分享。

©2015-2025 Norria support@norria.com