Ich habe eine VM mit Turnkey Linux Redmine eingerichtet und versuche, SSH auf dem Server zu installieren, um weitere Elemente zu installieren.
Der Befehl sudo wird anscheinend nicht erkannt. Jedes Mal, wenn ich versuche, etwas zu sudo, erhalte ich die Fehlermeldung:
-bash: sudo: command not found
Ich habe irgendwo anders gelesen, um 'whereis sudo' einzugeben, und die Ausgabe war:
sudo:
Vielleicht ist es nicht installiert? Öffnen Sie Ihren Paketmanager und installieren Sie das sudo- Paket.
quelle
Melden Sie sich zuerst bei Ihrem Root-Konto an. Dann
Fügen Sie Ihren vorhandenen Benutzer zur Gruppe hinzu
sudo
Sie sollten sich dann als anmelden
<user>
und dersudo
Befehl sollte dort sein.quelle
Versuchen Sie, den vollständigen Pfad zu verwenden
Wenn dieser Befehl funktioniert, fügen Sie / usr / bin / in Ihre Umgebungsvariable PATH in ~ / .bashrc ein
hoffentlich funktioniert ..
quelle
/usr/bin
wird mit ziemlicher Sicherheit in Ihrem Standardpfad sein. Das Problem ist, wie aus anderen Antworten und Kommentaren hervorgeht, dass dersudo
Befehl überhaupt nicht installiert wurde.Der Fehler tritt auf, weil die Binärdatei, die Sie über die Befehlszeile aufrufen möchten, nur ein Teil der PATH-Variablen des aktuellen Benutzers ist, nicht jedoch ein Teil des PATH des Root-Benutzers.
Sie können dies überprüfen, indem Sie den Pfad der Binärdatei suchen, auf die Sie zugreifen möchten. In meinem Fall habe ich versucht, "bettercap-ng" zu nennen. Also rannte ich,
$ which bettercap-ng
output: /home/user/work/bin/bettercap
Ich habe überprüft, ob dieser Speicherort Teil des PFADS meines Root-Benutzers ist.
$ sudo env | grep ^PATH
Ausgabe:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Daher kann sudo die Binärdatei nicht finden, die ich über die Befehlszeile aufrufen möchte. Gibt daher den nicht gefundenen Fehlerbefehl zurück.
Sie können sudo anweisen, den PATH des aktuellen Benutzers zu verwenden, wenn Sie eine Binärdatei wie folgt aufrufen.
$ sudo -E env "PATH=$PATH" [command] [arguments]
Tatsächlich kann man daraus einen Alias machen:
$ alias mysudo='sudo -E env "PATH=$PATH"'
Es ist auch möglich, den Alias selbst sudo zu benennen und das ursprüngliche sudo zu ersetzen.
In diesem Video finden Sie eine schrittweise Anleitung
quelle