Auf einem bestimmten Computer muss ich oft hin und wieder sudo
Befehle ausführen. sudo
In den meisten Fällen kann ich kein Passwort eingeben .
Es gibt jedoch drei sudo
Befehle, die ich ausführen möchte, ohne ein Kennwort einzugeben :
sudo reboot
sudo shutdown -r now
sudo shutdown -P now
Wie kann ich diese Befehle vom Passwortschutz ausschließen sudo
?
Antworten:
Verwenden Sie die
NOPASSWD
DirektiveSie können die
NOPASSWD
Direktive in Ihrer/etc/sudoers
Datei verwenden .Wenn Ihr Benutzer angerufen wird
user
und Ihr Host angerufen wird, könnenhost
Sie diese Zeilen hinzufügen zu/etc/sudoers
:Auf diese Weise kann der Benutzer
user
die gewünschten Befehle ausführen,host
ohne ein Kennwort einzugeben. Für alle anderensudo
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 dersudoers
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 Benutzeruser
einen beliebigen Befehl im Verzeichnis ausführen/home/someuser/bin/
:Hinweis: Verwenden Sie immer den Befehl
visudo
zum Bearbeiten dersudoers
Datei, um sicherzustellen, dass Sie sich nicht aus dem System ausschließen - nur für den Fall, dass Sie versehentlich etwas Falsches in diesudoers
Datei schreiben .visudo
Ihre geänderte Datei in ein temporäres Verzeichnis speichern und nur die reale überschreibensudoers
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 densudo
Rechten zu trennen und die Originaldateisudoers
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:Dadurch wird auch automatisch sichergestellt, dass der Eigentümer und die Berechtigungen der neuen Datei korrekt festgelegt sind.
Wenn
sudoers
versaut istWenn Sie
visudo
Ihre Dateien nicht bearbeitet und versehentlich versaut/etc/sudoers
oder versaut haben, werden/etc/sudoers.d
Sie gesperrtsudo
.Die Lösung könnte darin bestehen, die Dateien zu reparieren,
pkexec
die eine Alternative zu sindsudo
.Zu beheben
/etc/sudoers
:Zu beheben
/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 Siepkexec
dieses Problem beheben.Die richtigen Berechtigungen sollten folgendermaßen lauten:
Verwenden Sie
pkexec
diese Option, um Eigentumsrechte und Berechtigungen festzulegen :quelle
user
auf andere Weisesudo
keine Rechte vergeben werden, können von diesem Benutzer keine anderen Befehle ausgegeben werden. Schauen Sie sichman sudo
und anman sudoers
.mgd ALL=(root) NOPASSWD: /var/root/test
. Ich bin Benutzermgd
undALL
meine "von allen Hosts" ./var/root/test
ist ein Shell - Skript „Hallo Welt“ einfach mit Berechtigungen:-rwx------ 1 root wheel 27 12 Jun 09:54 /var/root/test
. Ich habe keine weiteren Änderungen am System vorgenommen.host
in der sudoers-Datei?Tut mir leid, aber es gibt so viel Verwirrung und einige wirklich komplizierte Antworten, dass ich das Gefühl habe, hier abwägen zu müssen, bevor jemand etwas falsch versteht und etwas Verrücktes tut.
Visudo benutzen !!
Fügen Sie der Konfiguration die folgenden Zeilen hinzu:
Auf diese Weise können die Befehle Neustart und Herunterfahren mit beliebigen Parametern von jedem Benutzer ausgeführt werden.
Bitte stapeln Sie den Austausch, geben Sie einfach prägnante Antworten.
quelle