Problem mit sudo

geforceeee

PC-Selbstbauer(in)
Hallo zusammen,

ich habe ein Script geschrieben, das sich in einem PATH-Pfad befindet. Ich kann es ganz einfach aus jedem Terminal aufrufen, indem ich nur den Scriptnamen eintippe. Das Script heißt "run_ise". Wenn ich jedoch "sudo run_ise" ins Terminal tippe, dann kommt einfach "command not found" zurück. Warum?

Es ist wichtig, dass ich das Script mit sudo Rechten starte.

Vielen Dank
LG, geforceeeee
 
Hallo,

ist das Skript ausführbar (chmod +x run_ise)? wechsel doch mal in die root shell über sudo -s (wenn ich das gerade richtig im kopf habe) und test es von dort nochmals.
 
Hi,

ja, das script ist ausführbar. Es wird auch gefunden, wenn ich es ohne sudo aufrufe. Dann funktioniert alles bist auf den Scriptinhalt, weil der eben gerade Sudorechte braucht. Ich habe so den Eindruck, dass sudo eine eigene PATH - Variabel hat, da

sudo echo PATH

was anderes ausgibt als

echo PATH

In der ersten Ausgabe ist der Pfad des Script nicht enthalten. Ich finde jedoch keine Möglichkeit, den entsprechenden Pfad in $PATH von sudo einzubinden.

Vielen Dank für die Hilfe
 
Mmh...das sieht eigentlich viel versprechen aus, aber auch mit -E kommt der Fehler "command not found". Ohne sudo wird das Script gefunden, aber er funktioniert dann wie gesagt nicht.

Danke für die Hilfe
 
Ja, sudo funktioniert ganz normal. Es ist wie gesagt installiert. Nur eben das Script, das sich einem Verzeichnis befindet, das ich manuell zu meinem PATH hinzugefügt habe, kann nicht mit sudo ausgeführt werden.

Wenn ich jedoch den ganzen Pfad angebe, also sudo /usr/scripts/run_ise, so funktioniert alles wie gewünscht. Es gibt dann jedoch ein anderes Problem: Im Script wird ein anderes Programm aufgerufen, dessen Pfad ebenfalls in einem PATH Verzeichnis liegt. Dieses Programm wird nun auch nicht mehr gefunden.

Diese Symptome deuten auf die andere PATH - Variabel von sudo hin. Aber sudo -E bringt rein gar nichts.


Danke :)
 
ich habe die Lösung.

1.)
sudo visudo

2.)

Den Pfad mit dem Script in "secure_paths" hinzufügen.

Viele Grüße
 
Zuletzt bearbeitet:
Noch eine andere Frage:

Damit ich das Programm innerhalb des Scripts ausführen kann, musste ich etwa 20 Pfade in die sudo PATH hinzufügen. Das ist aber nicht Sinn der Sache. Ist es irgendwie möglich, dieses Programm auch trotzdem aufzurufen (es braucht nämlich keine sudo rechte)

Danke
 
Noch eine andere Frage:

Damit ich das Programm innerhalb des Scripts ausführen kann, musste ich etwa 20 Pfade in die sudo PATH hinzufügen. Das ist aber nicht Sinn der Sache. Ist es irgendwie möglich, dieses Programm auch trotzdem aufzurufen (es braucht nämlich keine sudo rechte)

Danke
Meinst du mit "sudo rechte" root-Rechte? Wenn es die nicht braucht, kannst du das Script auch mit deinem normalen User ausführen.

MfG Jimini
 
Zurück