Website-Suche

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