如何在 Linux 中禁用关机和重新启动命令

关闭命令安排 Linux 系统断电的时间,它也可以用于当使用特定选项调用时重新启动指示系统重新启动。

默认情况下,某些 Linux 发行版(例如 Ubuntu、Linux Mint、Mandriva 等)可以以普通用户身份重新启动/停止/关闭系统。这不是理想的设置,尤其是在服务器上,它必须是值得担心的事情,尤其是对于系统管理员而言。

在本文中,我们将展示如何禁用关闭重新启动Linux 中普通用户的命令。

在 Linux 中禁用关机和重新启动命令

最简单的禁用方法关闭重新启动命令使用/etc/sudoers文件,在这里您可以指定一个用户(技术人员)或组(开发商) 不允许执行这些命令。

# vi /etc/sudoers

将这些行添加到命令别名部分。

Cmnd_Alias     SHUTDOWN = /sbin/shutdown,/sbin/reboot,/sbin/halt,/sbin/poweroff

# User privilege specification
tecmint   ALL=(ALL:ALL) ALL, !SHUTDOWN

# Allow members of group sudo to execute any command
%developers  ALL=(ALL:ALL) ALL,  !SHUTDOWN

现在尝试执行关闭重新启动以normail 用户身份执行命令(技术人员)。

用户禁用命令关闭和重新启动

另一种方法是删除执行权限关闭重新启动除 root 之外的所有用户的命令。

# chmod o-x /sbin/shutdown
# chmod o-x /sbin/reboot

笔记:在systemd下,这些文件(/sbin/shutdown、/sbin/reboot、/sbin/halt、/sbin/poweroff)只是/bin/systemctl的符号链接:

# ls -l /sbin/shutdown
# ls -l /sbin/reboot
# ls -l /sbin/halt
# ls -l /sbin/poweroff
SystemD 符号链接

为了防止其他用户运行这些命令,您只需按照上面的说明删除执行权限,但这在 systemd 下无效。您可以删除执行权限/bin/systemctl这意味着除 root 之外的所有其他用户都只会运行 systemctl。

# chmod  o-x /bin/systemctl

您可能还想了解如何通过阅读以下指南来禁用某些功能,例如 SSH root 登录并限制 SSH 访问、SELinux、Linux 中不需要的服务:

就是这样!在本文中,我们展示了如何在 Linux 中为普通系统用户禁用关闭和重新启动命令。您知道还有其他方法可以做到这一点,请在评论中与我们分享。