Не позволяйте пользователям перезагружаться, пока root авторизирован


9

В моей системе пользователи могут перезагрузить и выключить систему. Время от времени мне нужно обновлять программное обеспечение (или делать что-то еще), и я не хочу, чтобы пользователи перезагружали / выключали систему, пока я не закончил.

Есть ли способ предотвратить перезагрузку / выключение системы во время входа пользователя root (локально или через SSH)?


Как вы будете когда-либо мешать людям использовать метод грубой силы?
Бернхард

@Bernhard, вероятно, что-то с/etc/acpi/powerbtn.sh
PMint

Ответы:


11

Попробуйте Молли охранник:

$ sudo apt-get install molly-guard

Этот пакет предотвратит непреднамеренное выключение / перезагрузку / приостановку / спящий режим, интерактивно предложив вам ввести имя хоста системы.

Тем не менее, очень просто настроить molly-guard для полного отключения shutdown / reboot / suspend / hibernate. Просто создайте исполняемый файл в /etc/molly-guard/run.d/99-prevent-all, в котором есть это:

#!/bin/sh
exit 1

(Вы не упомянули ОС, это для Ubuntu).

история

Если вам интересно, термин «молли-гвардия» - это то, что называется обложкой над красной кнопкой. Посмотрите статью в Википедии о Большой Красной Кнопке, если вам интересно.

выдержка

Большой красный выключатель часто включает защитный кожух, крышку, которую необходимо снять, чтобы отключить выключатель. Первоначально Molly-Guard была сфальсифицирована жюри из оргстекла, чтобы помешать молодой дочери программиста Молли нажать BRS на сервере IBM 4341, после того, как она сделала это дважды за один день.

Другие дистрибутивы

Вы можете взять .debпакет и использовать его alienдля преобразования в RPM, подходящий для Fedora / RHEL / CentOS.

$ sudo yum install alien
$ alien -r molly-guard*.deb

1
+1 никогда не слышал об этом инструменте, буду устанавливать его на нескольких серерах 8-).
SLM

1
Действительно аккуратный инструмент. Ради конкретного вопроса и полноты, можно указать для root .bashrc / .bash_logout, чтобы включить / отключить all-stop. Условие в скрипте molly-guard для проверки UID! = 0 также может быть уместным.
Джошуа Миллер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.