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

shutdown命令调度一个Linux系统关闭电源的时间,它也可以用于在使用特定选项调用时停止,关闭电源或重启机器 ,并重新引导系统重新启动。

默认情况下,某些Linux发行版(如Ubuntu,Linux Mint,Mandriva)仅提及少数几个,使得可以以普通用户的身份重新启动/暂停/关闭系统。 这不是特别是在服务器上的理想设置,特别是对于系统管理员而言,它必须要担心。

在本文中,我们将介绍如何在Linux中禁用正常用户的shutdownreboot命令。

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

使用/ etc / sudoers文件禁用关机重启命令的最简单方法,您可以在此指定不允许执行这些命令的用户( youcl )或组( 开发人员 )。

# vi /etc/sudoers

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

Cmnd_Alias     SHUTDOWN = /sbin/shutdown,/sbin/reboot,/sbin/halt,/sbin/poweroff
# User privilege specification
youcl   ALL=(ALL:ALL) ALL, !SHUTDOWN
# Allow members of group sudo to execute any command
%developers  ALL=(ALL:ALL) ALL,  !SHUTDOWN

现在尝试执行shutdownreboot命令作为normail用户( youcl )。

用户关闭命令并重新启动

用户关闭命令并重新启动

另一种方法是删除除root以外的所有用户的shutdownreboot命令的执行权限。

# 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符号链接

为了防止其他用户运行这些命令,您只需删除执行权限,如上所述,但这在systemd下无效。 您可以删除/bin/systemctl执行权限,除了root以外的所有其他用户只能运行systemctl。

# chmod  o-x /bin/systemctl

您还可以通过阅读本指南,了解如何禁用某些功能,如SSH root登录和限制SSH访问,SELinux,Linux中的不需要的服务。

  1. 如何启用和禁用Ubuntu中的root登录
  2. 如何在RHEL / CentOS 7/6中暂时或永久禁用SELinux
  3. 在Linux中禁用或启用SSH root登录并限制SSH访问
  4. 如何从Linux系统停止和禁用不需要的服务

而已! 在本文中,我们展示了如何在Linux中为普通系统用户禁用shutdown和reboot命令。 你知道这样做的任何其他方式,在评论中与我们分享。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏