Поиск по сайту:

Как отключить команды выключения и перезагрузки в 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, прочитав эти руководства:

  1. Как включить и отключить root-вход в Ubuntu
  2. Как временно или навсегда отключить SELinux в RHEL/CentOS 7/6
  3. Отключить или включить root-вход по SSH и ограничить доступ по SSH в Linux
  4. Как остановить и отключить нежелательные службы в системе Linux

Вот и все! В этой статье мы показали, как отключить команды выключения и перезагрузки для обычных пользователей системы в Linux. Знаете ли вы какой-либо другой способ сделать это, поделитесь им с нами в комментариях.