Systemd дійсно обробляти shutdown
, reboot
і інші команди, і привілеї за замовчуванням , призначені поблажливі. Щоб змінити це, вам потрібно створити правило Polkit. Створіть .pkla
файл у /etc/polkit-1/localauthority/50-local.d
(скажімо, confirm-shutdown.pkla
), що містить:
[Confirm shutdown]
Identity=unix-user:*
Action=org.freedesktop.login1.*
ResultActive=auth_admin_keep
Різна вимикання, перезавантаження і т.д. команда, з точки зору Polkit, дії в org.freedesktop.login1
, наприклад, org.freedesktop.login1.power-off
, org.freedesktop.login1.reboot
і т.д. Проблема конкретної тут є конфігурація за замовчуванням, яка знаходиться в /usr/share/polkit-1/actions/org.freedesktop.login1.policy
:
<action id="org.freedesktop.login1.power-off">
<description>Power off the system</description>
...
<defaults>
<allow_any>auth_admin_keep</allow_any>
<allow_inactive>auth_admin_keep</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
Зауважте, що це дозволяє активному користувачеві вимкнути, перезавантажити тощо.
pkaction | grep login1
для інших правил, що цікавлять)