Systemd gestisce infatti shutdown
, reboot
e altri comandi e i privilegi predefiniti assegnati sono permissivi. Per cambiare questo, è necessario creare una regola Polkit. Crea un file .pkla
in /etc/polkit-1/localauthority/50-local.d
(ad esempio confirm-shutdown.pkla
) contenente:
[Confirm shutdown]
Identity=unix-user:*
Action=org.freedesktop.login1.*
ResultActive=auth_admin_keep
I vari comandi shutdown, reboot, etc. sono, in termini Polkit, azioni in org.freedesktop.login1
, ad esempio org.freedesktop.login1.power-off
, org.freedesktop.login1.reboot
, ecc. Il problema specifico qui è la configurazione di default, che è in /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>
Si noti che consente all'utente attivo di spegnere, riavviare, ecc.