Verwenden Sie die NOPASSWD
Direktive
Sie können die NOPASSWD
Direktive in Ihrer /etc/sudoers
Datei verwenden .
Wenn Ihr Benutzer angerufen wird user
und Ihr Host angerufen wird, können host
Sie diese Zeilen hinzufügen zu /etc/sudoers
:
user host = (root) NOPASSWD: /sbin/shutdown
user host = (root) NOPASSWD: /sbin/reboot
Auf diese Weise kann der Benutzer user
die gewünschten Befehle ausführen, host
ohne ein Kennwort einzugeben. Für alle anderen sudo
ed-Befehle ist weiterhin ein Passwort erforderlich.
Die in der sudoers
Datei angegebenen Befehle müssen vollständig qualifiziert sein (dh den absoluten Pfad zum auszuführenden Befehl verwenden), wie in der sudoers
Manpage beschrieben . Die Angabe eines relativen Pfads wird als Syntaxfehler angesehen.
Wenn der Befehl mit einem abschließenden /
Zeichen endet und auf ein Verzeichnis verweist, kann der Benutzer einen beliebigen Befehl in diesem Verzeichnis ausführen (jedoch nicht in einem der darin enthaltenen Unterverzeichnisse). Im folgenden Beispiel kann der Benutzer user
einen beliebigen Befehl im Verzeichnis ausführen /home/someuser/bin/
:
user host = (root) NOPASSWD: /home/someuser/bin/
Hinweis: Verwenden Sie immer den Befehl visudo
zum Bearbeiten der sudoers
Datei, um sicherzustellen, dass Sie sich nicht aus dem System ausschließen - nur für den Fall, dass Sie versehentlich etwas Falsches in die sudoers
Datei schreiben . visudo
Ihre geänderte Datei in ein temporäres Verzeichnis speichern und nur die reale überschreiben sudoers
Datei , wenn die geänderte Datei ohne Fehler analysiert werden kann.
Verwenden /etc/sudoers.d
statt modifizieren/etc/sudoers
Alternativ zum Bearbeiten der /etc/sudoers
Datei können Sie die beiden Zeilen in /etc/sudoers.d
z /etc/sudoers.d/shutdown
. B. einer neuen Datei hinzufügen . Dies ist eine elegante Methode, um verschiedene Änderungen an den sudo
Rechten zu trennen und die Originaldatei sudoers
für einfachere Upgrades unangetastet zu lassen.
Hinweis: Auch hier sollten Sie den Befehl visudo
zum Bearbeiten der Datei verwenden, um sicherzustellen, dass Sie sich nicht aus dem System ausschließen:
sudo visudo -f /etc/sudoers.d/shutdown
Dadurch wird auch automatisch sichergestellt, dass der Eigentümer und die Berechtigungen der neuen Datei korrekt festgelegt sind.
Wenn sudoers
versaut ist
Wenn Sie visudo
Ihre Dateien nicht bearbeitet und versehentlich versaut /etc/sudoers
oder versaut haben, werden /etc/sudoers.d
Sie gesperrt sudo
.
Die Lösung könnte darin bestehen, die Dateien zu reparieren, pkexec
die eine Alternative zu sind sudo
.
Zu beheben /etc/sudoers
:
pkexec visudo
Zu beheben /etc/sudoers.d/shutdown
:
pkexec visudo -f /etc/sudoers.d/shutdown
Wenn der Besitz und / oder die Berechtigungen für eine sudoers
Datei nicht korrekt sind , wird die Datei von ignoriert, sudo
sodass Sie möglicherweise auch in dieser Situation ausgeschlossen sind. Auch hier können Sie pkexec
dieses Problem beheben.
Die richtigen Berechtigungen sollten folgendermaßen lauten:
$ ls -l /etc/sudoers.d/shutdown
-r--r----- 1 root root 86 Jul 16 15:37 /etc/sudoers.d/shutdown
Verwenden Sie pkexec
diese Option, um Eigentumsrechte und Berechtigungen festzulegen :
pkexec chown root:root /etc/sudoers.d/shutdown
pkexec chmod 0440 /etc/sudoers.d/shutdown