Layer 8Ehrlicher Tech-Support
BetriebssystemSchweregrad: Lästiguser is not in the sudoers file

user is not in the sudoers file

sudo verweigert den Dienst: Der Benutzer steht nicht in der sudoers-Datei. Ohne Mitgliedschaft in der richtigen Gruppe gibt es keine Root-Rechte.

Aufwand:
ca. 20 Min.
Voraussetzung:
sudo-Rechte, Terminal

Das Symptom

Ein Befehl mit sudo bricht ab mit der Meldung, dass der Benutzer nicht in der sudoers-Datei stehe und dieser Vorfall gemeldet werde. Die Aktion wird nicht ausgeführt, egal wie oft man es versucht.

Die „Layer 8“-Wahrheit

Der Nachsatz über den gemeldeten Vorfall hat schon viele Menschen kurz erschreckt. Er klingt nach Alarmanlage, ist aber vor allem ein Eintrag im Systemprotokoll – sudo protokolliert von Haus aus sowohl erfolgreiche als auch gescheiterte Versuche. Ganz folgenlos ist es allerdings nicht: Die Handbuchseite sudoers(5) hat den Schalter mail_no_user standardmäßig aktiv, und der verschickt bei einem Benutzer, der nicht in der sudoers-Datei steht, eine Mail an den hinterlegten Empfänger. Auf einem Rechner ohne eingerichteten Mailversand landet sie nirgends. Niemand kommt vorbei, und der Vorfall bleibt einer für die Protokolldatei.

Das eigentliche Missverständnis liegt woanders: sudo ist kein Zauberwort, das Rechte erschafft. Es ist eine Tür mit Gästeliste. Wer nicht auf der Liste steht, kommt nicht rein – und die Liste ist die Gruppenmitgliedschaft, unter Debian und Ubuntu sudo, unter Fedora und Arch wheel. Daraus folgt die kleine Ironie dieses Fehlers: Um sich selbst auf die Liste zu setzen, braucht man bereits Rechte, die man gerade nicht hat. Der Weg führt zwangsläufig über root oder einen anderen berechtigten Benutzer.

Und wenn man dann drin ist: Finger weg von der direkten Bearbeitung der sudoers-Datei. Dafür gibt es visudo, das die Syntax prüft, bevor gespeichert wird. Ein Tippfehler an dieser Stelle kann sudo systemweit lahmlegen – und dann sperrt man sich aus dem Werkzeug aus, mit dem man es reparieren wollte.

Die echte, verifizierte Lösung

1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:

  1. 1.

    Die Meldung ernst nehmen

    sudo sagt genau, was fehlt: Der Benutzer ist nicht berechtigt, Befehle als Administrator auszuführen. Der Zusatz über die Meldung des Vorfalls ist keine Drohung, sondern ein Protokolleintrag – und laut sudoers(5) zusätzlich eine Mail an den dort hinterlegten Empfänger, denn der Schalter mail_no_user ist standardmäßig eingeschaltet. Ohne eingerichteten Mailversand kommt diese Nachricht allerdings nirgends an.

  2. 2.

    Die eigenen Gruppen anzeigen

    Die Berechtigung hängt an der Gruppenmitgliedschaft. Je nach Distribution heißt die Gruppe sudo (Debian, Ubuntu) oder wheel (Fedora, Arch, RHEL). Ein Blick zeigt, ob man drin ist.

    id
    groups
  3. 3.

    Mit Root-Rechten arbeiten, um Root-Rechte zu vergeben

    Um sich selbst in die Gruppe aufzunehmen, braucht es bereits Administratorrechte. Die kommen entweder vom root-Konto direkt oder von einem anderen berechtigten Benutzer. Ohne einen dieser Wege geht es nicht.

    su -
  4. 4.

    Den Benutzer in die richtige Gruppe aufnehmen

    Als root den Benutzer der passenden Gruppe hinzufügen. Auf Debian und Ubuntu ist das sudo, auf Fedora und Arch wheel. Der Name der Gruppe ist entscheidend – die falsche Gruppe ändert gar nichts.

    usermod -aG sudo BENUTZERNAME
  5. 5.

    Neu anmelden

    Gruppenmitgliedschaften werden bei der Anmeldung ausgewertet. Eine neue Sitzung – ab- und wieder anmelden – macht die Änderung wirksam. Ohne Neuanmeldung bleibt die alte Sitzung ahnungslos.

  6. 6.

    sudoers niemals direkt bearbeiten

    Wer Regeln in der sudoers-Datei anpassen will, benutzt visudo. Das Werkzeug prüft die Syntax vor dem Speichern. Ein Tippfehler in einer direkt bearbeiteten sudoers-Datei kann sudo für alle unbrauchbar machen.

    visudo

Häufige Fragen (FAQ)

?Ich habe keinen Root-Zugang. Was jetzt?

Dann bleibt der Weg über den Wiederherstellungsmodus des Systems, in dem eine Root-Shell ohne Passwort startet. Bei fremden oder verwalteten Rechnern ist stattdessen der Administrator zuständig – das ist Absicht, keine Schikane.

?Warum reicht usermod nicht sofort?

Die Gruppen einer Sitzung stehen fest, sobald sie beginnt. Eine nachträgliche Änderung greift erst in einer neuen Sitzung. Das ist kein Fehler, sondern die Funktionsweise der Rechteauswertung. Das Debian-Wiki formuliert es unmissverständlich: Gruppenmitgliedschaft wird nur bei der Anmeldung gesetzt, wer sich gerade selbst der Gruppe sudo hinzugefügt hat, muss sich vollständig ab- und wieder anmelden.

Belege

Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.

Zuletzt geprüft am . Dokumentation altert – ein Datum daneben ist der einzige ehrliche Umgang damit.

Auch zu finden unter

Verwandte Fehler

OSLästigPermission denied

Permission denied, obwohl man root ist

Selbst als root verweigert das System den Zugriff. Meist ist das Dateisystem schreibgeschützt eingehängt oder die Datei ist unveränderlich.

OSLästigOperation not permitted

Operation not permitted am Mac trotz sudo

Der Mac verweigert eine Änderung im Systemordner, auch als Administrator? Das ist der Systemintegritätsschutz — und er lässt sich nicht wegtricksen.