shutdown命令调度一个Linux系统关闭电源的时间,它也可以用于在使用特定选项调用时停止,关闭电源或重启机器 ,并重新引导系统重新启动。
默认情况下,某些Linux发行版(如Ubuntu,Linux Mint,Mandriva)仅提及少数几个,使得可以以普通用户的身份重新启动/暂停/关闭系统。 这不是特别是在服务器上的理想设置,特别是对于系统管理员而言,它必须要担心。
在本文中,我们将介绍如何在Linux中禁用正常用户的shutdown和reboot命令。
在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
现在尝试执行shutdown和reboot命令作为normail用户( youcl )。
用户关闭命令并重新启动
另一种方法是删除除root以外的所有用户的shutdown和reboot命令的执行权限。
# 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中的不需要的服务。
- 如何启用和禁用Ubuntu中的root登录
- 如何在RHEL / CentOS 7/6中暂时或永久禁用SELinux
- 在Linux中禁用或启用SSH root登录并限制SSH访问
- 如何从Linux系统停止和禁用不需要的服务
而已! 在本文中,我们展示了如何在Linux中为普通系统用户禁用shutdown和reboot命令。 你知道这样做的任何其他方式,在评论中与我们分享。