作为系统管理员,您将不可避免地在某个时间点执行预定的系统维护 。 几次,您的系统也可能会遇到一些问题,您将被迫放下来解决问题。 在这种情况下,防止非根(普通)用户连接到系统是个好主意。
另请参阅 : 禁用或启用SSH root登录并限制Linux中的SSH访问
在本文中,我们将介绍如何使用/ etc / nologin文件以及Linux中的nologin shell来阻止非root用户登录。 我们将看看如何设置一个消息,向用户解释实际发生的情况。
如何使用/ 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].
现在你可以测试一切工作; 从下面的屏幕截图可以看出,普通用户youcl
无法登录。
阻止用户登录Linux
如何使用nologin Shell阻止用户登录
此方法的工作方式略有不同:它仅阻止用户访问shell。 但是,他或她可以通过诸如ftp的程序登录到系统,而不需要使用shell连接到系统的shell。
此外,它可以允许您在特殊情况下阻止对特定用户的shell访问。
在RHEL / CentOS / Fedora上
只需使用chsh ( 更改shell )命令将/ etc / passwd文件中的用户shell从/bin/bash
或/bin/sh
改为/sbin/nologin
意味着拒绝登录。
# chsh -s /bin/nologin youcl
在Debian / Ubuntu上
在这里,你必须使用/ bin / false文件。 以下命令将用户youcl的 shell更改为/bin/false
意味着无效 (用户提供登录凭据后):
$ sudo chsh -s /bin/false youcl
您也可以阅读以下相关文章。
- 如何启用和禁用Ubuntu中的root登录
- 在RHEL / CentOS 7中重置/恢复被遗忘的根用户帐户密码7
- 如何使用chroot Jail限制SFTP用户到主目录
- 如何在Linux中设置和取消本地,用户和系统环境变量
目前为止就这样了! 如果您有关于此主题的任何问题或其他想法可以分享,请使用下面的注释表单。