Ich muss ein auf / opt / godi / sbin installiertes Programm ausführen (ein benutzerdefiniertes Verzeichnis). Wenn ich dieses Verzeichnis meinem PATH hinzufüge, fügen Sie meiner .bashrc-Datei die folgende Zeile hinzu
export PATH=$PATH:/opt/godi/bin:/opt/godi/sbin
Dann kann ich versuchen, den Befehl ganz gut auszuführen (außer dass er fehlschlägt, weil er sudo benötigt). Wenn ich jedoch versuche, sudo zu verwenden:
sudo godi_console
Ich erhalte den folgenden Fehler
sudo: godi_console: command not found
Wenn Sie die PATH-Variable nach der Verwendung von sudo untersuchen, werden Sie feststellen, dass sie nicht denselben PATH enthält, den ich als normaler Benutzer habe:
$ sudo sh
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Warum ist der PFAD nicht derselbe? Mache ich etwas falsch? Ich bin auf Debian Jessie und kann das Problem leider nicht umgehen, indem ich sudo den absoluten Link zu godi_console übergebe, da godi_console selbst auch davon abhängt, ob PATH richtig eingestellt ist.
secure_path
und / oder env_reset so konfiguriert sind, wie es in vielen sudo
Implementierungen wie unter Debian der Fall ist .
sudo -E godi_console
.-E
bedeutet "Umwelt schützen".