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

В 12.04 было возможно предотвратить выключение системы или перезагрузку с экрана входа в систему, добавив следующие ограничения в /etc/polkit-1/localauthority/50-local.d (адаптировано отсюда):

[Disable lightdm PowerMgmt]
Identity=unix-user:lightdm
Action=org.freedesktop.consolekit.system.restart;org.freedesktop.consolekit.system.stop
ResultAny=no
ResultInactive=no
ResultActive=no

С 14.04 это правило, похоже, больше не действует. Любой совет, как реализовать ограничение?

1 ответ

Решение

Я думаю, что нашел причину: действие, похоже, изменилось на "org.freedesktop.Login1.reboot" (и тому подобное).

Добавление следующих строк как /etc/polkit-1/localauthority/50-local.d/restrict-login-powermgmt.pkla работает:

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

Вы по-прежнему видите диалоговое окно подтверждения, но нет кнопок для подтверждения. Выглядит некрасиво, но работает;)

К сожалению, это относится ко всем пользователям, а не только к сеансу lightdm, поэтому вы должны добавить второе правило в белый список, если это необходимо.

Обратите внимание, что этот метод блокирует только команды перезагрузки /etc, выполненные из GUI. Чтобы заблокировать команды перезагрузки /etc из командной строки, можно использовать molly-guard - как описано в разделе Отключение команды выключения для всех пользователей, даже root - последствия?

Другие вопросы по тегам