Как отключить выключение или перезагрузку в 14.04, когда пользователи подключены через SSH?

6

У меня есть группа настольных ПК Ubuntu Trusty в моем офисе, и обычно я ssh для них и устанавливаю обновления удаленно из командной строки. К сожалению, иногда местные пользователи решают закрыть эти компьютеры, нарушая процесс обновления.

Я бы хотел, чтобы эти пользователи не останавливали, не перезагружали или не приостанавливали работу своих ПК, когда активен сеанс SSH. Как я могу это сделать?

Я пробовал molly-guard , но не запретил пользователям GUI отключать систему (это, похоже, не влияет на пользователей GUI).
Я тоже видел этот вопрос, но не понял, применим ли он также к Ubuntu 14.04 LTS или нет (и я не уверен, как его применять):
отключить shutdown / suspend, если есть другой пользователь, зарегистрированный через ssh     

задан gerlos 07.01.2015 в 16:19
источник

1 ответ

6

Это можно сделать с помощью политики PolKit, если у вас есть привилегии администратора.

Создайте файл .pkla в /etc/polkit-1/localauthority/50-local.d (скажем, disable-shutdown.pkla ), содержащий:

[Disable Shutdown, etc.]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no

Часть -multiple-sessions предназначена для тех случаев, когда регистрируется несколько пользователей - аналогичные действия без этого суффикса. Насколько мне известно, это отключает эти действия из графического интерфейса.

Обратите внимание, что этот метод блокирует только перезагрузку и т. д. команд, выпущенных из графического интерфейса. Чтобы блокировать перезагрузку и т. Д. Команды из командной строки, можно использовать молли-охранник - как объяснено в Отключение команды shutdown для всех пользователей, даже root - последствия?

    
ответ дан muru 07.01.2015 в 16:29