Warum kann sudo keinen Befehl finden, nachdem ich ihn zu PATH hinzugefügt habe?


19

Ich möchte PATH einen Befehl hinzufügen, damit ich sie bequem verwenden kann, z. B .:

export $PATH = "$PATH:/opt/storm/bin"

stormbrauche aber manchmal root-befugnisse, aber wenn ich es mit benutze sudo, kann Ubuntu den befehl nicht finden.

sudo storm nimbus

Wie finde ich diesen Befehl, wenn ich ihn verwende sudo?


Was sind Berechtigungen für diesen Ordner und diese Datei?
Sergiy Kolodyazhnyy

Antworten:


29

Sie müssen den Pfad zum sudoPfad hinzufügen .

Führen Sie den Befehl aus sudo visudo

Sie sehen eine Zeile wie diese:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$

Fügen Sie hier nun den Pfad Ihres Befehls hinzu, und das sollte funktionieren.

Beispielsweise:

$ sudo storm
sudo: storm: command not found

Fügen Sie nun den Pfad wie oben hinzu:

$ sudo visudo 

secure_path="......:/opt/storm/bin"

speichern und schließen.

Jetzt sudo stormwird einfach normal funktionieren.

Hinweis Sie sollten den Pfad auch dem Standardpfad in hinzufügen /etc/profile.


Vielen Dank für diesen einen. Es hat geholfen und ich habe daraus gelernt!
Darbehdar

0

Ich denke, Sie haben den Alias ​​in der Benutzerebene erstellt. Aus diesem Grund sind die Verknüpfungen nur auf Benutzerebene verfügbar.

Sie sollten diesen Alias ​​zur .bashrc-Datei im Ordner / root hinzufügen und nicht in /home/user/.bashrc (diese .bashrc-Datei gehört zum Benutzerkonto, nicht zum Stammverzeichnis).

Damit Sie Ihren Alias-Befehl direkt in der Shell verwenden können, wenn Sie als root angemeldet sind.


1
was ist /etc/profile? Ich füge export $PATH = "$PATH:/opt/storm/bin"in dieser Datei hinzu, ich denke, das ist global, aber ich kann diesen Befehl immer noch nicht finden
Roger

Kann sein , dies kann Stackoverflow Frage Ihr Problem lösen :)
Anonym Platypus
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.