如何在 Linux 中禁用关机和重新启动命令
shutdown 命令安排 Linux 系统关闭电源的时间,当使用特定选项调用时,它也可以用于停止、关闭电源或重新启动计算机,并重新启动 指示系统重新启动。
默认情况下,某些 Linux 发行版(例如 Ubuntu、Linux Mint、Mandriva 等)可以以普通用户身份重新启动/停止/关闭系统。这不是理想的设置,尤其是在服务器上,它一定是需要担心的事情,尤其是对于系统管理员来说。
在本文中,我们将展示如何在 Linux 中为普通用户禁用关机和重新启动命令。
在 Linux 中禁用关机和重新启动命令
使用/etc/sudoers文件禁用关机和重新启动命令的最简单方法,在这里您可以指定一个用户(howtoing<)或组(开发人员)不允许执行这些命令。
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用户(howtoing)身份执行关机和重新启动命令。
另一种方法是删除除 root 之外的所有用户的 shutdown 和 reboot 命令的执行权限。
chmod o-x /sbin/shutdown
chmod o-x /sbin/reboot
注意:在systemd下,这些文件(/sbin/shutdown、/sbin/reboot、/sbin/halt、/sbin/poweroff)只是/bin的符号链接/系统控制:
ls -l /sbin/shutdown
ls -l /sbin/reboot
ls -l /sbin/halt
ls -l /sbin/poweroff
为了防止其他用户运行这些命令,您只需按照上面的说明删除执行权限,但这在 systemd 下无效。您可以删除 /bin/systemctl
上的执行权限,这意味着除 root 之外的所有其他用户只能运行 systemctl。
chmod o-x /bin/systemctl
您可能还想了解如何通过阅读以下指南来禁用某些功能,例如 SSH root 登录并限制 SSH 访问、SELinux、Linux 中不需要的服务:
- 如何在 Ubuntu 中启用和禁用 root 登录
- 如何在 RHEL/CentOS 7/6 中临时或永久禁用 SELinux
- 在 Linux 中禁用或启用 SSH Root 登录并限制 SSH 访问
- 如何停止和禁用 Linux 系统中不需要的服务
就是这样!在本文中,我们展示了如何在 Linux 中为普通系统用户禁用关机和重新启动命令。您知道还有其他方法可以做到这一点,请在评论中与我们分享。