Systemd memang menangani shutdown
, reboot
dan perintah-perintah lain, dan hak-hak default yang diberikan bersifat permisif. Untuk mengubah ini, Anda perlu membuat aturan Polkit. Buat .pkla
file di /etc/polkit-1/localauthority/50-local.d
(katakanlah confirm-shutdown.pkla
) yang berisi:
[Confirm shutdown]
Identity=unix-user:*
Action=org.freedesktop.login1.*
ResultActive=auth_admin_keep
Berbagai shutdown, reboot, dll perintah yang, dalam hal Polkit, tindakan dalam org.freedesktop.login1
, misalnya, org.freedesktop.login1.power-off
, org.freedesktop.login1.reboot
, dll Masalah spesifik di sini adalah konfigurasi default, yang dalam /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>
Perhatikan bahwa ini memungkinkan pengguna aktif untuk mematikan, me-reboot, dll.
pkaction | grep login1
untuk aturan menarik lainnya)