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для других правил)