Fix „Benutzername ist nicht in der Sudoers-Datei.“ Dieser Vorfall wird gemeldet
In Unix/Linux-Systemen ist das Root-Benutzerkonto das Superuser-Konto und kann daher für alles Mögliche auf dem System verwendet werden.
Dies kann jedoch in vielerlei Hinsicht sehr gefährlich sein – zum Beispiel könnte der Root-Benutzer einen falschen Befehl eingeben und das gesamte System beschädigen, oder ein Angreifer könnte Zugriff auf ein Root-Benutzerkonto erhalten und die Kontrolle übernehmen des gesamten Systems kennt und weiß, was er/sie tun kann.
Vor diesem Hintergrund ist in Ubuntu und Ubuntu-Derivaten das root-Benutzerkonto standardmäßig gesperrt, normale Benutzer (Systemadministratoren oder nicht) können Superuser-Berechtigungen nur erhalten, indem sie das verwenden sudo-Befehl.
Und eines der schlimmsten Dinge, die einem Ubuntu-Systemadministrator passieren können, ist der Verlust der Berechtigungen zur Verwendung des sudo-Befehls, eine Situation, die gemeinhin als „kaputtes sudo“ bezeichnet wird. Das kann absolut verheerend sein.
Ein defektes sudo kann folgende Ursachen haben:
- Ein Benutzer sollte nicht aus der Gruppe sudo oder admin entfernt worden sein.
- Die Datei /etc/sudoers wurde geändert, um zu verhindern, dass Benutzer in der Gruppe sudo oder admin ihre Berechtigungen auf die von root< erhöhen mit dem Befehl sudo.
- Die Berechtigung für die Datei /etc/sudoers ist nicht auf 0440 gesetzt.
Um wichtige Aufgaben auf Ihrem System auszuführen, wie z. B. das Anzeigen oder Ändern wichtiger Systemdateien oder das Aktualisieren des Systems, benötigen Sie den Befehl sudo, um Superuser-Berechtigungen zu erhalten. Was passiert, wenn Ihnen die Nutzung von sudo aus einem oder mehreren der oben genannten Gründe verweigert wird?
Unten sehen Sie ein Bild, das einen Fall zeigt, in dem der Standardsystembenutzer daran gehindert wird, den Befehl sudo auszuführen:
tecmint@TecMint ~ $ sudo visudo
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file. This incident will be reported.
tecmint@TecMint ~ $ sudo apt install vim
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file. This incident will be reported.
So beheben Sie einen defekten Sudo-Befehl in Ubuntu
Wenn Sie zufällig nur Ubuntu auf Ihrem Computer ausführen, drücken Sie nach dem Einschalten einige Sekunden lang die Shift
-Taste, um den Grub-Boot zu starten Speisekarte. Wenn Sie hingegen ein Dual-Boot (Ubuntu neben Windows oder Mac OS X) verwenden, sollte standardmäßig das Grub-Boot-Menü angezeigt werden.
Wählen Sie mit dem Abwärtspfeil
„Erweiterte Optionen für Ubuntu“ aus und drücken Sie die Eingabetaste.
Sie befinden sich in der folgenden Benutzeroberfläche. Wählen Sie den Kernel mit der Option „Wiederherstellungsmodus“ aus (siehe unten) und drücken Sie die Eingabetaste, um zum „Wiederherstellungsmenü zu gelangen > ”.
Unten finden Sie das „Wiederherstellungsmenü“, das darauf hinweist, dass das Root-Dateisystem schreibgeschützt gemountet ist. Gehen Sie zur Zeile „root Drop to root shell prompt“ und drücken Sie dann die Eingabetaste.
Drücken Sie anschließend die Eingabetaste, um die Wartung durchzuführen:
An diesem Punkt sollten Sie sich an der root-Shell-Eingabeaufforderung befinden. Wie wir zuvor gesehen haben, ist das Dateisystem schreibgeschützt gemountet. Um Änderungen am System vorzunehmen, müssen wir es daher erneut mit Lese-/Schreibzugriff mounten, indem wir den folgenden Befehl ausführen:
mount -o rw,remount /
Lösung von Fall Nr. 1 – Benutzer zur Sudo- oder Admin-Gruppe hinzufügen
Angenommen, ein Benutzer wurde aus der Sudo-Gruppe entfernt, geben Sie den folgenden Befehl ein, um den Benutzer wieder zur Sudo-Gruppe hinzuzufügen:
adduser username sudo
Hinweis: Denken Sie daran, den tatsächlichen Benutzernamen auf dem System zu verwenden, in meinem Fall ist es aaronkilik.
Oder führen Sie unter der Bedingung, dass ein Benutzer aus der Admin-Gruppe entfernt wurde, den folgenden Befehl aus:
adduser username admin
Lösung von Fall Nr. 2 – Gewährung von Sudo-Berechtigungen an Benutzer
Unter der Annahme, dass die Datei /etc/sudoers
geändert wurde, um zu verhindern, dass Benutzer in der Gruppe sudo oder admin ihre Berechtigungen auf die eines erhöhen Superuser, und erstellen Sie dann wie folgt ein Backup der sudoers-Dateien:
cp /etc/sudoers /etc/sudoers.orginal
Öffnen Sie anschließend die Datei sudoers.
visudo
und fügen Sie den folgenden Inhalt hinzu:
#
This file MUST be edited with the 'visudo' command as root.
#
Please consider adding local content in /etc/sudoers.d/ instead of
directly modifying this file.
#
See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbi$
Host alias specification
User alias specification
Cmnd alias specification
User privilege specification
root ALL=(ALL:ALL) ALL
Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Lösung von Fall Nr. 3 – Festlegen der richtigen Berechtigung für die sudoers-Datei
Angenommen, die Berechtigung für die Datei /etc/sudoers ist nicht auf 0440 gesetzt, dann führen Sie den folgenden Befehl aus, um es richtig zu machen:
chmod 0440 /etc/sudoers
Zu guter Letzt geben Sie nach dem Ausführen aller erforderlichen Befehle den Befehl exit
ein, um zum „Wiederherstellungsmenü“ zurückzukehren:
exit
Verwenden Sie den Rechtspfeil
, um
auszuwählen und drücken Sie die Eingabetaste:
Drücken Sie
, um mit der normalen Startsequenz fortzufahren:
Zusammenfassung
Diese Methode sollte einwandfrei funktionieren, insbesondere wenn es sich um ein Administratorkonto handelt, bei dem es keine andere Möglichkeit gibt, als den Wiederherstellungsmodus zu verwenden.
Sollte es jedoch bei Ihnen nicht funktionieren, versuchen Sie, sich bei uns zu melden, indem Sie uns Ihre Erfahrungen über den Feedback-Bereich unten mitteilen. Sie können auch Vorschläge oder andere Möglichkeiten zur Lösung des vorliegenden Problems unterbreiten oder diesen Leitfaden insgesamt verbessern.