作為系統管理員,你將不可避免地在某個時候執行定期系統維護。有時,你的系統可能會遇到一些問題,而你將被迫將其關閉以解決問題。無論情況如何,阻止非根(普通)用戶連接系統都是一個好主意。
讀取還有:在Linux中禁用或啟用SSH根登錄並限制SSH訪問
在本文中,我們將描述如何使用Linux中的/etc/nologin文件以及nologin 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
無法登錄。

如何使用nologin Shell阻止用戶登錄
這種方法有些不同:它只阻止用戶訪問shell。但是,他或她可以通過諸如ftp之類的程序登錄系統,這些程序不一定需要用戶連接到系統的shell。
此外,它可以讓您在特殊情況下阻止特定用戶訪問shell。
在RHEL/CentOS/Fedora上
只需使用chsh(更改shell)命令將用戶的shell在/etc/passwd文件中從像/bin/bash
或/bin/sh
更改為/sbin/nologin
,表示拒絕登錄。
# chsh -s /bin/nologin tecmint
在Debian/Ubuntu上
在這裡,您必須使用/bin/false文件。下面的命令將用戶tecmint的shell更改為/bin/false
,表示不執行任何操作(用戶提供登錄憑據後):
$ sudo chsh -s /bin/false tecmint
您可能還想閱讀以下相關文章。
- 如何在Ubuntu中啟用和禁用Root登錄
- 在RHEL/CentOS 7中重置/恢復忘記的Root用戶帳戶密碼
- 如何使用chroot监禁限制SFTP用户访问家目录
- 如何在Linux中设置和取消本地、用户和系统级环境变量
暂时就这些了!如果您对这个话题有任何问题或额外想法要分享,请利用下面的评论表单。
Source:
https://www.tecmint.com/block-or-disable-normal-user-logins-in-linux/