Многие системы Linux позволяют даже обычным пользователям, не являющимся системными администраторами, выключать или перезагружать систему с помощью команд shutdown/halt/reboot. Это может быть небезопасно для многих системных администраторов, особенно если вы используете серверы с несколькими пользователями. В таких случаях рекомендуется отключить выключение и перезагрузку для неадминистративных пользователей в Linux.
Как отключить команды выключения и перезагрузки в Linux
Ниже описаны шаги по отключению выключения и перезагрузки в Linux. Сначала откройте файл /etc/sudoers в текстовом редакторе.
1 | nano /etc/sudoers |
В этом файле мы можем указать различных пользователей, которым не разрешено выключать или перезагружать компьютер.
Например, добавьте следующие строки в файл /etc/sudoers, чтобы запретить пользователю test выключать или перезагружать компьютер.
1 | Cmnd_Alias SHUTDOWN = /sbin/shutdown,/sbin/reboot,/sbin/halt,/sbin/poweroff |
Спецификация привилегий пользователя
1 | test ALL=(ALL:ALL) ALL, !SHUTDOWN |
Сохраните и закройте файл, чтобы применить изменения.
Теперь запустите команды shutdown или reboot, и вы получите сообщение "Sorry, user ubuntu is not allowed to ...", указывающее на то, что у этого пользователя нет разрешения на выключение или перезагрузку системы.
Также вы можете выполнить команду chmod, чтобы удалить разрешение на выполнение команд выключения и перезагрузки для всех пользователей, кроме пользователя root.
1 2 3 4 | chmod o-x /sbin/shutdown chmod o-x /sbin/reboot chmod o-x /sbin/halt chmod o-x /sbin/poweroff |
Обратите внимание, поскольку вышеуказанные команды /sbin/shutdown, /sbin/reboot, /sbin/halt, /sbin/poweroff являются лишь символическими ссылками на /sbin/systemctl, вам может понадобиться удалить разрешение на выполнение для пользователей, не являющихся root и не являющихся владельцами, на этот файл.
1 | chmod o-x /sbin/systemctl |
Если вы хотите отменить изменения, просто замените - на + в приведенных выше командах.
1 2 3 4 | chmod o+x /sbin/shutdown chmod o+x /sbin/reboot chmod o+x /sbin/halt chmod o+x /sbin/poweroff |
Заключение
В этой статье мы познакомились с простым, но эффективным методом защиты вашей системы, предотвращающим выключение или перезагрузку системы неавторизованными пользователями. Он также полезен для предотвращения случайных выключений и перезагрузок обычными пользователями.
Системным администраторам важно регулярно контролировать разрешения, доступные их пользователям. По умолчанию многие системы Linux позволяют обычным пользователям выключать и перезагружать систему. В случае многопользовательских систем, на которых работают серверы, это может представлять проблему. Поэтому рекомендуется проверить, допускает ли это и ваша система Linux, и отключить выключение и перезагрузку для пользователей, не являющихся рутами.