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