Das klappt standardmäßig ohne Passwort, wenn man an einem tty angemeldet ist, aber nicht per SSH, wie man in der /usr/share/polkit-1/actions/org.freedesktop.login1.policy sehen kann:
| <action id="org.freedesktop.login1.power-off">
<description gettext-domain="systemd">Power off the system</description>
<message gettext-domain="systemd">Authentication is required for powering off the system.</message>
<defaults>
<allow_any>auth_admin_keep</allow_any>
<allow_inactive>auth_admin_keep</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.set-wall-message</annotate>
</action>
|
Man könnte über Polkit festlegen, dass ein Nutzer den Shutdown ohne Passworteingabe auslösen darf - also für die Action org.freedesktop.login1.power-off
eine pkla-Regel anlegen, also z.B. eine /etc/polkit-1/localauthority/50-local.d/10-shutdown.pkla mit diesem Inhalt:
| [allow user foo to shutdown without entering a password]
Identity=unix-user:foo
Action=org.freedesktop.login1.power-off
ResultAny=yes
|
Daneben gibt es noch die Actions org.freedesktop.login1.power-off-multiple-sessions
und org.freedesktop.login1.power-off-ignore-inhibit
, wenn man das System auch herunterfahen können möchte, wenn noch andere Nutzer angemeldet sind oder Shutdown-Inhibitoren (vlg. https://www.freedesktop.org/wiki/Software/systemd/inhibit/) gesetzt sind.
Oder du legst eine Gruppe (z.B. shutdown_users) an, der du in der /etc/sudoers die Ausführung von sudo poweroff
ohne Passworteingabe erlaubst:
%shutdown_users ALL=NOPASSWD: /sbin/poweroff
Wenn ein Nutzer nicht in der Gruppe adm bzw. sudo ist, darf er ansonsten keine anderen Befehle mit sudo ausführen (es sei denn deine sudo-Konfiguration erlaubt das).