Erhalten Sie einen "sudo: Befehl nicht gefunden"-Fehler unter Linux? Hier ist eine einfache Lösung
Linux
2024-04-17T15:00:14Z
Schnelle Links
Wichtigste Erkenntnisse
- Werden Sie root (mit "su -") und installieren Sie sudo mit dem Befehl "apt install sudo" unter Debian und Ubuntu.
- Fügen Sie Ihren Benutzer mit den Befehlen "usermod -aG sudo username" (Debian/Ubuntu) oder "usermod -aG wheel username" (andere Distributionen) als Root-Benutzer zur sudo-Gruppe hinzu.
- Wenn sudo installiert ist, aber nicht funktioniert, fügen Sie sein Verzeichnis zur PATH-Variable hinzu, indem Sie die Datei "/etc/profile" als Root-Benutzer bearbeiten.
Sie haben versucht, Ihren ersten Linux-Befehl als Superuser zu verwenden und erhalten die Fehlermeldung "sudo: command not found"? Dies ist eines der häufigsten Probleme, mit denen neue Linux-Benutzer nach einer Neuinstallation konfrontiert werden. Hier erfahren Sie, wie Sie dieses Problem lösen und den sudo-Befehl wieder verwenden können.
In diesem Tutorial werde ich alles unter Debian 12 demonstrieren. Sie werden jedoch die notwendigen Befehle finden, um den Fehler "sudo: Befehl nicht gefunden" auch unter anderen Linux-Distributionen zu beheben.
Was ist der sudo-Befehl?
Der sudo-Befehl unter Linux, eine Abkürzung des Ausdrucks "superuser do", ist ein leistungsfähiges Dienstprogramm, mit dem Benutzer Befehle mit den Rechten eines anderen Benutzers, in der Regel root, ausführen können. Mit sudo können autorisierte Benutzer administrative Aufgaben ausführen, ohne sich als Root-Benutzer anmelden zu müssen.
Um sudo zu verwenden, beginnen Sie einen anderen Befehl mit dem Wort "sudo". Dies ermöglicht es Ihnen, den Befehl mit erweiterten Rechten auszuführen. Mit dem sudo-Befehl können Sie also die erforderlichen Berechtigungen eines anderen Benutzers haben und einen sensiblen Befehl ausführen. Mehr über den sudo-Befehl erfahren Sie auf seiner Handbuchseite.
Warum erhalten Sie diesen Fehler?
Es gibt in der Regel zwei mögliche Gründe für die Fehlermeldung "sudo: command not found" unter Linux. Entweder ist sudo nicht installiert oder das sudo-Verzeichnis ist nicht in der PATH-Variable Ihres Systems enthalten.
Bei einigen Linux-Distributionen ist das sudo-Paket möglicherweise nicht standardmäßig installiert. Dies gilt für Arch und Gentoo Linux. Wenn Sie bei Debian während der Installation ein Root-Passwort festlegen, werden Sie mit demselben Problem konfrontiert.
Der zweite Grund ist, dass sudo zwar installiert ist, aber sein Verzeichnis nicht in der PATH-Variable enthalten ist. PATH ist eine Umgebungsvariable, die das Linux-System verwendet, um einen Befehl zu finden, ohne seinen vollständigen Pfad anzugeben.
Wenn Sie einen Befehl in das Terminal eingeben, durchsucht das System die in der PATH-Variablen aufgeführten Verzeichnisse und versucht, die richtige ausführbare Datei zu finden. Wenn der sudo-Befehl nicht in der PATH-Variablen enthalten ist, findet das System ihn nicht und kann ihn nicht verwenden.
So beheben Sie den Fehler "sudo: Befehl nicht gefunden"
Wenn Sie sudo nicht installiert haben, sollte es ausreichen, es zu installieren und Ihren Benutzer zur Gruppe sudo/wheel hinzuzufügen, um das Problem zu beheben. Um sicherzustellen, dass Sie sudo installiert haben, führen Sie aus:
sudo -V
Wenn Sie sudo nicht installiert haben, sollten Sie eine ähnliche Ausgabe erhalten. In diesem Fall fahren Sie mit der folgenden Methode fort.
Installation von sudo unter Linux
Um das sudo-Paket zu installieren, müssen Sie zunächst root werden. Um Root-Benutzer zu werden, öffnen Sie Ihr Terminal und führen Sie aus:
su -
Geben Sie das root-Passwort ein und drücken Sie die Eingabetaste. Wenn Sie erfolgreich waren, sollte der Shell-Prompt weiß werden und das Wort "root" am Anfang des Prompts stehen.
Als root-Benutzer können Sie jedes Softwarepaket installieren, auch sudo. Um sudo zu installieren, führen Sie diesen Befehl auf Debian-basierten Distributionen aus:
apt install sudo
Für RHEL-basierte Systeme verwenden Sie diesen Befehl:
yum install sudo
Unter Arch Linux führen Sie aus:
pacman -S sudo
Wenn Sie Gentoo verwenden, benutzen Sie diesen Befehl:
emerge --ask app-admin/sudo
Fügen Sie Ihren Benutzer zur sudo-Gruppe hinzu
Nachdem Sie den sudo-Befehl installiert haben, müssen Sie Ihren Nicht-Root-Benutzer zur sudo-Gruppe hinzufügen. Denn Sie wollen diesem Benutzer Superuser-Rechte geben. Dann kann Ihr Nicht-Root-Benutzer den sudo-Befehl verwenden, um erweiterte Rechte zu erhalten.
Um einen Benutzer zur sudo-Gruppe hinzuzufügen, führen Sie diesen Befehl auf einer Debian-basierten Distribution aus:
usermod -aG sudo-Benutzername
Stellen Sie sicher, dass Sie "username" im Befehl durch den richtigen Benutzernamen ersetzen.
Wenn Sie Arch Linux, Fedora oder andere RHEL-basierte Distributionen verwenden, führen Sie den folgenden Befehl aus:
usermod -aG wheel benutzername
Wechseln Sie schließlich wieder zum Nicht-Root-Benutzer mit:
su username
Jetzt können Sie einen Befehl ausprobieren, der mit sudo beginnt, um zu testen, ob er funktioniert. Versuchen wir zum Beispiel, die Pakete auf dem System zu aktualisieren. Verwenden Sie dazu:
sudo apt update
Es funktioniert wie erwartet.
Versuchen Sie, sudo zur PATH-Variable hinzuzufügen
Wenn Sie sudo bereits installiert haben, es aber immer noch nicht funktioniert, müssen Sie sudo zur PATH-Variablen hinzufügen. Ermitteln wir zunächst den Ort, an dem sich der Befehl sudo befindet.
welches sudo
Wie Sie sehen können, befindet er sich im Verzeichnis "/usr/bin/". Prüfen wir nun, ob das Verzeichnis in der PATH-Variablen enthalten ist oder nicht. Führen Sie diesen Befehl aus:
echo $PATH
In meinem Fall ist der Ort des sudo-Befehls in der PATH-Variablen enthalten. Sollte das nicht der Fall sein, können Sie ihn mit diesem Befehl hinzufügen:
export PATH=$PATH:/usr/bin
Dadurch wird das Verzeichnis des sudo-Befehls jedoch nur vorübergehend hinzugefügt. Nachdem Sie die Terminalsitzung beendet haben, ist alles wieder so, wie es war.
Um das Verzeichnis dauerhaft hinzuzufügen, öffnen Sie die Datei "/etc/profile" in einem Texteditor. Um die Datei mit dem Texteditor nano zu öffnen, werden Sie zunächst Root, indem Sie su eingeben , und verwenden Sie diesen Befehl:
nano /etc/profile
Bearbeiten Sie die Zeile, in der die Variable PATH deklariert wird. Fügen Sie einen Doppelpunkt (:) ein und fügen Sie dann den Pfad zu sudo hinzu ("/usr/bin" in diesem Fall.)
Speichern Sie die Datei mit Strg O und verlassen Sie den Editor mit Strg X. Versuchen Sie nun, den Befehl sudo zu verwenden, um zu sehen, ob er funktioniert.
Damit sollte Ihr Problem gelöst sein und Sie können den sudo-Befehl ohne Fehler verwenden. Denken Sie daran, dass nur die Benutzer, die der sudo-Gruppe angehören, den Befehl verwenden können. Wenn Sie mehreren Benutzern sudo-Rechte gewähren möchten, lesen Sie unseren Leitfaden zur Kontrolle des sudo-Zugriffs unter Linux.