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.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.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.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.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.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.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