Das sudo
Der Befehl ermöglicht vertrauenswürdigen Benutzern, Programme als ein anderer Benutzer auszuführen, standardmäßig als Root-Benutzer. Wenn Sie viel Zeit auf der Kommandozeile verbringen, sudo
ist einer der Befehle, die Sie häufig verwenden werden.
Um einem Benutzer sudo-Zugriff zu gewähren, müssen Sie den Benutzer normalerweise zur sudo-Gruppe hinzufügen, die in sudoers
definiert ist Datei. Unter Debian, Ubuntu und ihren Derivaten Mitglieder der Gruppe sudo
werden mit sudo-Privilegien gewährt, während auf RedHat-basierten Distributionen wie CentOS und Fedora der Name der sudo-Gruppe wheel
ist .
Jedes Mitglied dieser Gruppe wird aufgefordert, das Passwort einzugeben, bevor ein sudo-Befehl ausgeführt wird. Dies fügt eine zusätzliche Sicherheitsebene hinzu und ist die bevorzugte Methode, um Benutzern sudo-Berechtigungen zu erteilen.
In einigen Situationen, z. B. beim Ausführen automatisierter Skripts, müssen Sie jedoch möglicherweise die sudoers-Datei konfigurieren und bestimmten Benutzern erlauben, sudo
auszuführen Befehle, ohne nach dem Passwort gefragt zu werden.
Hinzufügen eines Benutzers zur Sudoers-Datei #
Die sudoers-Datei enthält Informationen, die die sudo-Berechtigungen eines Benutzers und einer Gruppe bestimmen.
Sie können den Benutzer-Sudo-Zugriff konfigurieren, indem Sie die sudoers-Datei ändern oder eine Konfigurationsdatei zu /etc/sudoers.d
hinzufügen Verzeichnis. Die in diesem Verzeichnis erstellten Dateien werden in die sudoers-Datei aufgenommen.
Bevor Sie Änderungen vornehmen, sollten Sie die aktuelle Datei sichern:
sudo cp /etc/sudoers{,.backup_$(date +%Y%m%d)}
Der Datumsbefehl hängt das aktuelle Datum an den Namen der Sicherungsdatei an.
Öffnen Sie /etc/sudoers
Datei mit dem visudo
Befehl:
sudo visudo
Wenn Sie Änderungen an der sudoers-Datei vornehmen, verwenden Sie immer visudo
. Dieser Befehl überprüft die Datei nach der Bearbeitung und speichert die Änderungen bei einem Syntaxfehler nicht. Wenn Sie die Datei mit einem Texteditor öffnen, führt ein Syntaxfehler dazu, dass der sudo-Zugriff verloren geht.
Auf den meisten Systemen ist das visudo
Befehl öffnet die Datei /etc/sudoers
Datei mit dem vim Texteditor. Wenn Sie keine Erfahrung mit vim haben, können Sie einen anderen Texteditor verwenden. Um beispielsweise den Editor in GNU nano zu ändern, würden Sie Folgendes ausführen:
sudo EDITOR=nano visudo
Scrollen Sie nach unten zum Ende der Datei und fügen Sie die folgende Zeile hinzu, die es dem Benutzer „linuxize“ ermöglicht, jeden Befehl mit sudo
auszuführen ohne nach einem Passwort gefragt zu werden:
linuxize ALL=(ALL) NOPASSWD:ALL
Vergessen Sie nicht, „linuxize“ durch den Benutzernamen zu ersetzen, dem Sie Zugriff gewähren möchten.
Wenn Sie dem Benutzer erlauben möchten, nur bestimmte Befehle auszuführen, ohne ein Passwort einzugeben, geben Sie die Befehle nach dem NOPASSWD
an Schlüsselwort.
Zum Beispiel, um nur mkdir
zuzulassen und mv
Befehle, die Sie verwenden würden:
linuxize ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv
Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.
Verwendung von /etc/sudoers.d
#
Anstatt die sudoers-Datei zu bearbeiten, können Sie eine neue Datei mit den Autorisierungsregeln in /etc/sudoers.d
erstellen Verzeichnis. Dieser Ansatz macht die Verwaltung der sudo-Privilegien wartungsfreundlicher.
Öffnen Sie Ihren Texteditor und erstellen Sie die Datei:
sudo nano /etc/sudoers.d/linuxize
Sie können die Datei nach Belieben benennen, aber normalerweise ist es eine gute Idee, den Benutzernamen als Dateinamen zu verwenden.
/etc/sudoers.d/linuxizeFügen Sie dieselbe Regel hinzu, die Sie der sudoers-Datei hinzufügen würden:
linuxize ALL=(ALL) NOPASSWD:ALL
Speichern Sie abschließend die Datei und schließen Sie den Editor.
Schlussfolgerung #
Wir haben Ihnen gezeigt, wie Sie /etc/sudoers
bearbeiten damit Sie sudo
ausführen können Befehle ohne Eingabe eines Passworts. Dies ist nützlich, wenn Sie Skripte haben, bei denen ein Nicht-Root-Benutzer administrative Aufgaben ausführen muss.
Wenn Sie Fragen haben, können Sie gerne einen Kommentar hinterlassen.