Dieser Artikel erklärt, wie man „behebt“, dass sudo unter Linux nicht funktioniert, was zu dieser Meldung führt, wenn man versucht, es zu verwenden:„Ihr Benutzername ist nicht in der sudoers-Datei. Dieser Vorfall wird gemeldet.“ auf Debian (und Debian-basierten Linux-Distributionen wie Ubuntu). sudo ermöglicht es Systemadministratoren, Befehle als root (Administrator) oder ein anderer Benutzer auszuführen.
Beispiel einer frischen Debian 10 (10.1) Buster-Installation, bei der sudo nicht funktioniert:
$ sudo apt update
[sudo] password for logix:
logix is not in the sudoers file. This incident will be reported.
sudo funktioniert standardmäßig nicht auf einer frischen Debian-Installation, da Ihr Benutzername nicht automatisch zur sudo-Gruppe hinzugefügt wird (es funktioniert standardmäßig auf Ubuntu). Sie können dies jedoch auch sehen, wenn Sie einen neuen Benutzer erstellt, aber vergessen haben, ihn zur sudo-Gruppe hinzuzufügen, oder wenn ein anderer Benutzer auf Ihrem System den Benutzernamen aus der sudo-Gruppe entfernt hat.
Mit dem groups
können Sie überprüfen, ob der aktuell angemeldete Benutzer zur sudo-Gruppe gehört Befehl. Wenn die groups
Der Befehl gibt sudo
nicht zurück Auf Debian-basierten Linux-Distributionen kann dieser Benutzername die Befehle sudo
nicht ausführen . Beispiel mit Ausgabe eines Debian-Benutzers, der nicht in der sudo-Gruppe ist:
$ groups
logix cdrom floppy audio dip video pugdev netdev scanner lpadmin
Das könnte Ihnen gefallen:So installieren Sie den neuesten Firefox (Nicht-ESR) auf Debian 10 Buster (Stable) oder Bullseye (Testing)
Die Lösung hierfür besteht darin, diesen Benutzer der sudo-Gruppe hinzuzufügen. Aber wie bekommt man in diesem Fall root, da man als normaler Benutzer keine Benutzer ändern oder hinzufügen kann? Verwenden Sie su -
(oder sudo su -
) und fügen Sie den Benutzer dann der sudo-Gruppe hinzu.
Also um root zu werden, fügen Sie Ihren Benutzer zu diesem sudo
hinzu Gruppieren, verwenden:
su -
usermod -aG sudo YOUR_USERNAME
exit
Wo:
-
su
wechselt zum Root-Benutzer während-
führt eine Login-Shell aus, sodass Dinge wie/etc/profile
,.bashrc
, usw. ausgeführt (so werden Befehle wieusermod
wird in Ihrem$PATH
sein Sie müssen also nicht den vollständigen Pfad zur ausführbaren Datei eingeben). Sie können auchsudo su -
verwenden Stattsu -
- Sie müssen
YOUR_USERNAME
ersetzen mit dem Benutzernamen, den Sie der sudo-Gruppe hinzufügen möchten. - Ich habe
usermode
verwendet um eine Gruppe zu einem bestehenden Benutzer hinzuzufügen, da dies auf jeder Linux-Distribution funktionieren sollte.adduser
oderuseradd
kann auch verwendet werden für (adduser USERNAME -G sudo
), aber sie funktionieren möglicherweise nicht auf allen Linux-Distributionen. Obwohl dieser Artikel für Debian ist, wollte ich dies auch auf anderen Linux-Distributionen ermöglichen (mir ist aufgefallen, dassadduser
funktioniert zum Beispiel nicht unter Solus OS). -
exit
die Root-Shell existiert, damit Sie wieder als normaler Benutzer Befehle ausführen können.
Danach funktioniert sudo immer noch nicht! Sie müssen sich von diesem Benutzer abmelden und dann wieder anmelden und sudo wird funktionieren.
Dies behebt den Fehler „Benutzername ist nicht in der sudoers-Datei. Dieser Vorfall wird gemeldet“ auf Ihrem Debian-Rechner, aber in einigen Fällen kann ein anderes Problem auftreten – sudo wird standardmäßig überhaupt nicht installiert. Dies ist beispielsweise bei einer minimalen Debian-Installation der Fall. In diesem Fall sehen Sie einen Fehler wie diesen, wenn Sie versuchen, einen Befehl mit sudo:
auszuführen$ sudo apt update
bash: sudo: command not found
Installieren Sie in diesem Fall sudo
auf Debian so:
su - #or 'sudo su -'
apt install sudo
exit
Einige weitere Debian-Artikel, die Ihnen gefallen könnten:
- Wie man Pakete mit apt in Debian, Ubuntu oder Linux Mint auf eine bestimmte Version herunterstufen kann
- So zeigen Sie einen Verlauf installierter, aktualisierter oder entfernter Pakete in Debian, Ubuntu oder Linux Mint an [dpkg]
- Wie man alle Pakete in einem Repository auf Ubuntu, Debian oder Linux Mint auflistet [APT]
- So finden Sie das Paket, das eine Datei (installiert oder nicht) auf Ubuntu, Debian oder Linux Mint bereitstellt