如何在 Linux 系统上禁用用户帐户
在 Linux 系统上禁用用户帐户是一项常见的管理任务,通常执行此任务是为了防止用户在未完全删除其帐户的情况下访问系统。出于各种原因,例如安全问题、临时暂停或将用户转移到不同的系统,这可能是必要的。本指南将引导您完成有效、安全地禁用用户帐户所需的步骤。
在本教程中您将学习:
- 如何使用
usermod
命令禁用用户帐户 - 如何使用
passwd
命令锁定用户帐户 - 如何使用
chage
命令使用户帐户过期 - 如何将用户的 shell 设置为
nologin
- 如何修改
/etc/shadow
文件以禁用帐户
在 Linux 上禁用用户帐户
有多种方法可以在 Linux 系统上禁用用户帐户。每种方法都提供不同级别的限制,从锁定帐户到设置到期日期。这里讨论的方法是使用 usermod
、passwd
、chage
命令,将用户的 shell 设置为 nologin
,以及修改 /etc/shadow
文件。
使用 usermod 禁用用户帐户:
usermod
命令是用于在 Linux 中修改用户帐户的强大工具。要禁用帐户,可以使用-L
(锁定)选项。# usermod -L username
此命令通过禁用密码来锁定指定的用户帐户。在使用
-U
选项解锁帐户之前,用户将无法登录:# usermod -U username
使用 passwd 锁定用户帐户:
passwd
命令通常用于更改用户密码,但它也可以锁定和解锁用户帐户。# passwd -l username
使用
passwd
命令锁定用户帐户会在/etc/shadow
中用户密码哈希的开头添加一个感叹号 (!
)文件,使密码无效。
要解锁帐户,请使用:# passwd -u username
使用chage使用户帐户过期:
chage
命令更改用户密码过期信息。您可以将帐户设置为立即过期,从而有效地禁用它。# chage -E 0 username
此命令将帐户到期日期设置为 Unix 纪元(1970 年 1 月 1 日),这会禁用该帐户。要设置特定的到期日期,请使用:
# chage -E YYYY-MM-DD username
将用户的 Shell 设置为 nologin:禁用用户帐户的另一种方法是将用户的 Shell 更改为
nologin
。这会阻止用户登录系统。# usermod -s /sbin/nologin username
修改 /etc/shadow 文件以禁用帐户:您可以通过编辑
/etc/shadow
文件来手动禁用用户帐户。在用户的加密密码前面添加星号 (*
) 或感叹号 (!
) 将使密码无效。# nano /etc/shadow
找到与要禁用的用户帐户对应的行,并在密码字段的开头添加
*
或!
:username:!*encrypted_password:other_fields
保存文件并退出编辑器。用户将无法再使用修改后的密码登录。
解锁帐户即可恢复用户的登录能力。
其中 YYYY-MM-DD
是所需的到期日期。数据保险丝=“22189504506”>
使用此命令,当用户尝试登录时,他们将看到一条消息,指示其帐户不可用。
结论
在 Linux 系统上禁用用户帐户可以使用多种方法来完成,每种方法适合不同的管理需求。无论您选择锁定帐户、禁用密码、设置到期日期、将用户的 shell 更改为 nologin
,还是修改 /etc/shadow
文件,这些工具都提供了有效管理用户访问所需的灵活性和控制。在更改用户帐户之前,请始终确保您拥有适当的权限并备份关键数据。