Ist es möglich, "systemctl halt" für alle Benutzer zuzulassen?
Derzeit nur die Befehle:
systemctl poweroff & systemctl reboot work on my system (Debian Jessie)
Wenn ich als normaler Benutzer systemctl halt aufrufe, wird folgende Meldung angezeigt:
Failed to start halt.target: Access denied
Ich habe folgende Methoden ausprobiert:
- Methode - Ich habe versucht, eine neue Aktion in /usr/share/polkit-1/actions/org.freedesktop.login1.policy hinzuzufügen
Ich habe die Aktion kopiert
<action id="org.freedesktop.login1.power-off"> to
<action id="org.freedesktop.login1.halt">
- Die Methode (und welche funktionierte) war chmod u + s / sbin / halt aber weil / sbin / halt ein link zu ist - & gt; / bin / systemctl Das ist wahrscheinlich keine gute Idee
halt
undsystemctl halt
sind zwei verschiedene Befehle. Auch wenn jemand ein Symlink zum anderen ist, verhalten sie sich trotzdem anders.Antworten:
Schritt 1: Warten Sie einige Monate, bis Debian Stretch veröffentlicht ist - Sie benötigen mindestens systemd v227 mit Commits 2ac3930f (polkit prüft auf
/sbin/halt
) und 88ced61b (erweiterte Polkit - Daten fürsystemctl halt
usw.)Schritt 2:
Erstellen Sie eine Polkit-Regel in…Eigentlich nein, das wird nicht reichen, denn auch Stretch hat es noch polkit v0.105 , die die JS-basierten Regeln noch nicht unterstützten; nur die deutlich eingeschränkteren.pkla
Format. Das heißt, v0.113 ist endlich in "experimentell".Wenn Sie jedoch ein Upgrade auf systemd ≥v227 und polkit ≥v0.113 durchführen, sollte eine Regel wie diese funktionieren:
Bringen Sie sich also das Tippen bei
systemctl poweroff
stattdessen. "Halt" ist nicht der normale Befehl zum Herunterfahren. Es ist der Befehl, im wahrsten Sinne des Wortes Halt die Maschine - ohne sie auszuschalten. Es ist nicht sehr nützlich.Wenn Sie es nützlich finden, verwenden Sie sudo stattdessen:
quelle