Как отключить команды выключения и перезагрузки в Linux
Команда shutdown назначает время выключения системы Linux. Ее также можно использовать для остановки, выключения или перезагрузки компьютера при вызове с определенными параметрами и перезагрузки . дает команду системе перезагрузиться.
Некоторые дистрибутивы Linux, такие как Ubuntu, Linux Mint, Mandriva, и это лишь некоторые из них, по умолчанию позволяют перезагрузить/остановить/выключить систему как обычный пользователь. Это не идеальная настройка, особенно для серверов, об этом следует беспокоиться, особенно системному администратору.
В этой статье мы покажем, как отключить команды выключение и перезагрузка для обычных пользователей Linux.
Отключить команды выключения и перезагрузки в Linux
Самый простой способ отключить команды shutdown и reboot с помощью файла /etc/sudoers, здесь можно указать пользователя (tecmint<) или группу (разработчики), которым не разрешено выполнять эти команды.
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 (tecmint).
Другой способ — удалить разрешения на выполнение команд выключения и перезагрузки для всех пользователей, кроме root.
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
Вы также можете узнать, как отключить определенные функции, такие как root-вход по SSH и ограничить доступ SSH, SELinux, нежелательные службы в Linux, прочитав эти руководства:
- Как включить и отключить root-вход в Ubuntu
- Как временно или навсегда отключить SELinux в RHEL/CentOS 7/6
- Отключить или включить root-вход по SSH и ограничить доступ по SSH в Linux
- Как остановить и отключить нежелательные службы в системе Linux
Вот и все! В этой статье мы показали, как отключить команды выключения и перезагрузки для обычных пользователей системы в Linux. Знаете ли вы какой-либо другой способ сделать это, поделитесь им с нами в комментариях.