sudo
ist ein Befehlszeilendienstprogramm, das es vertrauenswürdigen Benutzern ermöglicht, Befehle als ein anderer Benutzer auszuführen, standardmäßig als Root-Benutzer.
Sie haben zwei Möglichkeiten, einem Benutzer sudo-Zugriff zu gewähren. Die erste besteht darin, den Benutzer zur sudoers-Datei hinzuzufügen. Diese Datei enthält Informationen, die definieren, welchen Benutzern und Gruppen sudo-Berechtigungen gewährt werden, sowie die Ebene der Berechtigungen.
Die zweite Möglichkeit besteht darin, den Benutzer der in sudoers
definierten sudo-Gruppe hinzuzufügen Datei. Auf RedHat-basierten Distributionen wie CentOS und Fedora werden Mitgliedern der „wheel“-Gruppe standardmäßig sudo-Berechtigungen gewährt.
Hinzufügen eines Benutzers zur Wheel-Gruppe #
Der einfachste Weg, einem Benutzer unter CentOS sudo-Berechtigungen zu erteilen, besteht darin, den Benutzer der Gruppe „Wheel“ hinzuzufügen. Mitglieder dieser Gruppe können alle Befehle über sudo
ausführen und aufgefordert, sich mit ihrem Passwort zu authentifizieren, wenn sie sudo
verwenden .
Wir gehen davon aus, dass der Benutzer bereits existiert. Wenn Sie einen neuen Benutzer erstellen möchten, lesen Sie diese Anleitung.
Um den Benutzer zur Gruppe hinzuzufügen, führen Sie den folgenden Befehl als root oder einen anderen sudo-Benutzer aus. Ersetzen Sie „Benutzername“ durch den Namen des Benutzers, dem Sie Berechtigungen erteilen möchten.
usermod -aG wheel username
Das Gewähren von sudo-Zugriff mit dieser Methode ist für die meisten Anwendungsfälle ausreichend.
Um den sudo-Zugriff zu testen, führen Sie whoami
aus Befehl:
sudo whoami
Sie werden aufgefordert, das Passwort einzugeben. Wenn der Benutzer sudo-Zugriff hat, gibt der Befehl „root“ aus:
root
Wenn Sie die Fehlermeldung „Benutzer befindet sich nicht in der sudoers-Datei“ erhalten, bedeutet dies, dass der Benutzer keine sudo-Berechtigungen hat.
Hinzufügen eines Benutzers zur sudoers-Datei #
Die sudo-Berechtigungen der Benutzer und Gruppen werden in /etc/sudoers
konfiguriert Datei. Durch Hinzufügen des Benutzers zu dieser Datei können Sie benutzerdefinierten Zugriff auf die Befehle gewähren und benutzerdefinierte Sicherheitsrichtlinien für den Benutzer konfigurieren.
Sie können den Benutzer-Sudo-Zugriff konfigurieren, indem Sie die sudoers-Datei ändern oder eine neue Konfigurationsdatei in /etc/sudoers.d
erstellen Verzeichnis. Die Dateien in diesem Verzeichnis sind in der sudoers-Datei enthalten.
Um die Datei /etc/sudoers
zu bearbeiten Datei verwenden Sie das visudo
Befehl. Dieser Befehl überprüft die Datei beim Speichern auf Syntaxfehler. Bei Fehlern wird die Datei nicht gespeichert. Wenn Sie die Datei mit einem Texteditor öffnen, kann ein Syntaxfehler dazu führen, dass der sudo-Zugriff verloren geht.
Typischerweise visudo
verwendet vim, um /etc/sudoers
zu öffnen . Wenn Sie keine Erfahrung mit vim haben und die Datei mit nanotype bearbeiten möchten:
EDITOR=nano visudo
Angenommen, Sie möchten dem Benutzer erlauben, sudo-Befehle auszuführen, ohne nach einem Passwort gefragt zu werden. Öffnen Sie /etc/sudoers
Datei:
visudo
Scrollen Sie bis zum Ende der Datei und fügen Sie die folgende Zeile hinzu:
/etc/sudoersusername ALL=(ALL) NOPASSWD:ALL
Speichern Sie eine Datei und beenden Sie den Editor. Vergessen Sie nicht, „Benutzername“ durch den Benutzernamen zu ersetzen, dem Sie Zugriff gewähren möchten.
Ein weiteres häufiges Beispiel ist, dem Benutzer zu erlauben, nur bestimmte Befehle über sudo
auszuführen . Zum Beispiel, um nur den du
zuzulassen und ping
Befehle, die Sie verwenden würden:
username ALL=(ALL) NOPASSWD:/usr/bin/du,/usr/bin/ping
Anstatt die sudoers-Datei zu bearbeiten, können Sie dasselbe erreichen, indem Sie eine neue Datei mit den Autorisierungsregeln in /etc/sudoers.d
erstellen Verzeichnis. Fügen Sie dieselbe Regel hinzu, die Sie der sudoers-Datei hinzufügen würden:
echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
Dieser Ansatz macht die Verwaltung der sudo-Berechtigungen wartungsfreundlicher. Der Name der Datei ist nicht wichtig. Es ist üblich, dass der Name der Datei mit dem Benutzernamen identisch ist.