帮助中心

产品使用与售后服务帮助

当前位置:首页 > 帮助中心> 如何禁止用户登录Linux服务器系统

如何禁止用户登录Linux服务器系统

发布时间:2021-03-11 11:16 来源:A5数据

有时需要禁止用户登录到服务器系统。比如说,如果你在做维护,想保持系统状态的干净。在这个快速提示中,我们将向您展示如何禁用Linux系统的登录。

如果你看过/etc/passwd文件,你有可能看到一个用户shell设置为/usr/sbin/nologin。这告诉系统,该用户没有交互式登录系统的权限。这是个阻止特定用户登录的好办法,但另一个名为/etc/nologin的文件存在,可以阻止任何非root用户登录。

阻止所有非root用户登录系统。

要阻止所有非root用户登录系统,你可以简单地创建/etc/nologin文件。

sudo touch /etc/nologin

这将阻止任何用户。一旦他们认证,连接就会被关闭。这经常会让用户感到困惑,所以最好添加一条信息。简单的添加你想要显示的信息到文件中。你可以在你最喜欢的文本编辑器中打开文件,比如vi,nano,或者emacs,然后开始输入。或者你也可以像下面这样在文件中会员消息。

echo "System down for maintenance, try again later" | sudo tee /etc/nologin

注意:你不能用sudo使用普通的重定向,所以我们用tee命令代替。

现在,当用户试图登录时,他们将收到消息,连接将被关闭。

这样就礼貌多了。

解除封禁

要想解封或允许重新登录,只需删除/etc/nologin文件即可。

sudo rm /etc/nologin

阻止特定用户交互式登录

您可以使用nologin shell来阻止特定用户的交互式shell访问。如果你只想让用户访问FTP或类似的东西,这就很方便了。

nologin shell在不同系统中的路径不同。

在Ubuntu中,它位于/usr/sbin/nologin中。

对于Fedora来说,它位于/sbin/nologin中。

您可以使用which命令找到它的位置。

$ which nologin

 /usr/sbin/nologin

要将用户shell设置为nologin,可以使用usermod命令。这里我们将把 "stacy "用户的shell设置为nologin。

usermod -s /usr/sbin/nologin stacy

解除对特定用户交互式登录的限制

要解除阻止或重新启用用户通过交互式shell登录,只需将他们的shell设置为bash(或任何你想要的shell)。

将 "stacy "用户的shell设置为bash。

usermod -s /bin/bash stacy

如果你在使用 "usermod -s "时没有任何参数,系统将为用户使用默认的shell。

现在你应该知道如何禁用用户登录系统了,也介绍了禁用所有用户登录以及特定用户的设置。