如何在 Linux 中阻止或禁用普通用户登录

作为系统管理员,您将不可避免地要执行预定的系统维护在某个时刻或另一个时刻。有几次,您的系统也可能会遇到一些问题,您将被迫放下它来解决问题。无论什么情况,最好阻止非 root(普通)用户连接到系统。

另请阅读在 Linux 中禁用或启用 SSH Root 登录并限制 SSH 访问

在本文中,我们将介绍如何使用以下命令阻止非 root 用户登录/etc/nologin文件以及登录Linux 中的 shell。我们将研究如何设置一条消息来向用户解释实际发生的情况。

如何使用 /etc/nologin 文件阻止用户登录

主要功能是/etc/nologin文件的目的是向在关闭过程中尝试登录系统的用户显示一条消息(存储在该文件中)。

一旦向用户显示消息,登录过程就会终止,从而阻止用户登录系统。

这可用于通过手动创建文件来阻止用户登录,如下所示。

# vi /etc/nologin

将以下消息添加到文件中,该消息将显示给尝试登录系统的用户。

The Server is down for a routine maintenance. We apologize for any inconvenience caused, the system will be up and running in 1 hours time. For more information, contact the system admin [email protected]. 

现在你可以测试一下是否一切正常;正如您从下面的屏幕截图中看到的,普通用户tecmint无法登录。

Linux 中阻止用户登录

如何使用 nologin Shell 阻止用户登录

此方法的工作方式略有不同:它仅阻止用户访问 shell。但他或她可以通过诸如文件传输协议用户连接到系统不一定需要 shell。

此外,它还可以允许您在特殊情况下阻止特定用户的 shell 访问。

在 RHEL/CentOS/Fedora 上

只需使用chsh(改变外壳) 命令来更改用户 shell/etc/密码文件来自类似/bin/bash或者/bin/sh/sbin/nologin意思是拒绝登录。

# chsh -s /bin/nologin tecmint

在 Debian/Ubuntu 上

在这里,你必须使用/bin/假文件。以下命令更改用户技术的外壳到/bin/false意思是不执行任何操作(在用户提供登录凭据后):

$ sudo chsh -s /bin/false tecmint

您可能还想阅读以下相关文章。

  1. 如何在 Ubuntu 中启用和禁用 root 登录
  2. 在 RHEL/CentOS 7 中重置/恢复忘记的 Root 用户帐户密码
  3. 如何使用 chroot Jail 将 SFTP 用户限制到主目录
  4. 如何在 Linux 中设置和取消设置本地、用户和系统范围的环境变量

现在就这些了!如果您对此主题有任何问题或其他想法要分享,请使用下面的评论表。

嘿 TechMint 读者,

令人兴奋的消息!每个月,我们的顶级博客评论者都有机会赢得丰厚奖励,例如免费的 Linux 电子书,例如红细胞认证工程师,红十字会协会,LFCS,学习Linux, 和awk, 每个值20 美元

学习在下面分享您的想法