Startseite > Paket- & Systemverwaltung > sudo

sudo-Befehlsanleitung: Befehle mit Administratorrechten ausführen

sudo-Befehl (Abkürzung für substitute user do oder superuser do) ist ein Werkzeug, das es normalen Benutzern ermöglicht, Programme mit den Rechten eines anderen Benutzers (meistens des Root-Benutzers) unter Linux- und Unix-basierten Betriebssystemen auszuführen. Es ermöglicht die Durchführung von Verwaltungsaufgaben, während die Systemsicherheit gewahrt bleibt, was es viel sicherer macht, als alle Aufgaben direkt mit dem Root-Konto auszuführen. In diesem Leitfaden lernen Sie die grundlegende Verwendung von sudo sowie wichtige Sicherheitsüberlegungen kennen.

Überblick über sudo

Auf Linux-Systemen hat der Root-Benutzer alle Berechtigungen. Das Ausführen aller Aufgaben als Root birgt jedoch das Risiko, das System durch Fehler schwer zu beschädigen. `sudo` ist ein wichtiges Sicherheitsmechanismus, das normalen Benutzern vorübergehend die benötigten Administratorrechte gewährt und somit die Systemverwaltung bei gleichzeitiger Minimierung von Sicherheitsrisiken ermöglicht.

Funktionsweise von sudo

sudo fordert den Benutzer auf, ein Passwort (sein eigenes Passwort, nicht das Root-Passwort) einzugeben, wenn der Befehl sudo ausgeführt wird. Wenn das Passwort korrekt ist, wird der Befehl gemäß den Regeln im sudoers-Datei mit den Rechten des Root- oder eines anderen Benutzers ausgeführt. Nach der Authentifizierung kann sudo für eine bestimmte Zeit (standardmäßig 5 Minuten) ohne erneute Eingabe des Passworts verwendet werden.

Hauptfunktionen von sudo

  • Erhöhung der Sicherheit: Verhindert unnötige Anmeldungen mit dem Root-Konto und verringert Sicherheitsrisiken.
  • Verantwortlichkeit verfolgen: Alle Befehle, die über sudo ausgeführt werden, werden protokolliert, sodass nachvollzogen werden kann, wer wann welchen Administratorbefehl ausgeführt hat.
  • Feingranulare Berechtigungssteuerung: Über die sudoers-Datei können bestimmte Benutzer oder Gruppen für bestimmte Befehle präzise jene Berechtigungen gewährt werden, die sie mit Root-Rechten ausführen können.
  • Erleichterung der Passwortwiederholung: Nach einer Authentifizierung kann sudo für eine bestimmte Zeit ohne Passwort verwendet werden, was praktisch ist.

🔑 sudoers-Datei

/etc/sudoers

sudo-Berechtigungen werden in der Datei /etc/sudoers festgelegt. Diese Datei ist sehr sensibel, daher muss sie unbedingt mit dem Befehl visudo bearbeitet werden. visudo überprüft automatisch auf Syntaxfehler, um zu verhindern, dass die Funktion von sudo aufgrund falscher Einstellungen beeinträchtigt wird.

Wichtige sudo-Befehloptionen

`sudo`-Befehl ermöglicht es Ihnen, die Ausführungsweise über verschiedene Optionen neben der Erhöhung der Berechtigungen zu steuern.

1. Grundlegende Verwendung

2. Benutzer- und Shell-bezogene Optionen

3. Authentifizierungs- und listenbezogene Optionen

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`sudo` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

sudoers-Dateikonfiguration (visudo verwenden)

`sudo`-Berechtigungen werden durch die Datei `/etc/sudoers` kontrolliert. Anstatt diese Datei direkt zu bearbeiten, sollte der Befehl `visudo` verwendet werden, um sicher zu bearbeiten. `visudo` überprüft auf Syntaxfehler, um zu verhindern, dass die Funktion von `sudo` beeinträchtigt wird.

Bearbeiten der sudoers-Datei

sudo visudo

Bearbeiten Sie die sudoers-Datei sicher mit Root-Rechten. Der Standard-Editor kann `vi` sein.

Allgemeines Format der sudoers-Datei

Einträge in der sudoers-Datei werden im Format User Host=(RunAs) NOPASSWD: Command definiert. Die häufigste Konfiguration ist die Gewährung von sudo-Rechten für alle Befehle an Benutzer, die zu einer bestimmten Gruppe gehören.

Beispielkonfiguration

Im Folgenden finden Sie Beispiele für häufige Einstellungen in der sudoers-Datei.

  • %sudo ALL=(ALL:ALL) ALL: Erlaubt allen Benutzern, die zur sudo-Gruppe gehören, alle Befehle (ALL) mit den Rechten aller Benutzer (ALL) und Gruppen (ALL) auf jedem Host (ALL) auszuführen. (Passwort erforderlich)
  • username ALL=(ALL) NOPASSWD: /usr/bin/apt update: Erlaubt dem Benutzer username, den Befehl apt update ohne Eingabe eines Passworts mit Root-Rechten auszuführen.

Verwendungsbeispiele

Lernen Sie, wie Sie Systemaufgaben mit Administratorrechten mithilfe verschiedener Anwendungsbeispiele des `sudo`-Befehls durchführen können.

Systempaketaktualisierung

sudo apt update

Der Befehl zum Aktualisieren der Paketliste des Systems erfordert Administratorrechte, sodass `sudo` verwendet wird.

Kopieren einer Datei in ein bestimmtes Verzeichnis

sudo cp my_config.conf /etc/

Kopiert die Datei `my_config.conf` in das Verzeichnis `/etc/`, in dem normalerweise keine Schreibberechtigungen vorhanden sind.

Befehl als ein anderer Benutzer ausführen

sudo -u www-data ls /var/www/html

Führt den Befehl `ls /var/www/html` mit den Rechten des Benutzers `www-data` (normalerweise der Webserverprozess) aus, um die Zugriffsrechte auf die Dateien dieses Benutzers zu testen.

Wechsel zu einer Root-Shell

sudo -i

Geben Sie das Passwort des aktuellen Benutzers ein, um eine vollständig wechselnde Shell zu erhalten, die in die Umgebung des Root-Benutzers wechselt. Nach Abschluss der Arbeiten können Sie mit `exit` zum ursprünglichen Benutzer zurückkehren.

Überprüfen der aktuellen Benutzer-sudo-Rechte

sudo -l

Überprüfen Sie, welche Befehle der aktuell angemeldete Benutzer über `sudo` ausführen kann und ob ein Passwort erforderlich ist.



Gleiche Kategorie Befehle