Schritt 1: Warten Sie einige Monate, bis Debian Stretch veröffentlicht wird. Sie benötigen mindestens systemd v227 mit den Commits 2ac3930f (Polkit-Prüfung für /sbin/halt
) und 88ced61b (erweiterte Polkit-Daten systemctl halt
usw.).
Schritt 2: Erstellen Sie eine Polkit-Regel in…Nein, das reicht nicht aus, denn auch Stretch hat noch Polkit v0.105, das die JS-basierten Regeln noch nicht unterstützte. nur das wesentlich limitiertere .pkla
Format. Das heißt, v0.113 ist schließlich in "experimentell".
Wenn Sie jedoch ein Upgrade auf systemd ≥v227 und polkit ≥v0.113 durchführen, sollte eine Regel wie diese funktionieren:
/* copy to /etc/polkit-1/rules.d/systemd-allow-halt.rules */ polkit.addRule(function(action, subject) { if (action.id == "org.freedesktop.systemd1.manage-units" && action.lookup("unit") == "halt.service") { return polkit.Result.YES; } });
Also lehre dich systemctl poweroff
stattdessen zu tippen . "Halt" ist nicht der normale Befehl zum Herunterfahren. Es ist der Befehl, die Maschine buchstäblich anzuhalten - ohne sie auszuschalten. Das ist nicht sehr nützlich.
Wenn Sie es nützlich finden, verwenden Sie stattdessen sudo :
# /etc/sudoers ALL ALL=(root) NOPASSWD: /usr/bin/systemctl halt, /sbin/halt