ich habe ein Skript, welches mit `#!/usr/bin/env perl'
beginnt. Ich muss es mit sudo ausführen, bekomme aber
Fehlermeldung, weil der sudo PATH Perl nicht kennt.
Ich musste mich eines Tricks bedienen, um den sudo PATH
herauszufinden:
,----------------------------------
> Um den Pfad zu erfahren, der für den sudoer gesetzt ist, müsstest du
> $PATH vor der unmittelbaren Auswertung schützen.
> Am leichtesten wird es wohl sein, eine lokale Datei testsudo mit dem
> Inhalt
> echo $PATH
> anzulegen, mit chmod u+x testsudo ausführbar zu machen, und dann
> sudo $PWD/testsudo
> bzw.
> sudo -i $PWD/testsudo
> aufzurufen.
`----------------------------------
(Siehe auch: Message-ID: <m38wtgm...@mch2pc28.mechanik.tuwien.ac.at>)
Das Ganze ergab bei mir:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
Wo kann ich nun den sudo PATH anpassen?
Gruß
Henning
--
Welche Fehlermeldung genau?
> Ich musste mich eines Tricks bedienen, um den sudo PATH
> herauszufinden:
[...]
> (Siehe auch: Message-ID: <m38wtgm...@mch2pc28.mechanik.tuwien.ac.at>)
>
> Das Ganze ergab bei mir:
>
> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
>
> Wo kann ich nun den sudo PATH anpassen?
sudo(8) hat keine eigene PATH-Variable; lies "man 8 sudo" und such nach
"-i".
--
{ \|/ ______ \|/ Access denieded | Christian 'strcat' Schneider }
{ "@' / , . \ `@" Nah Nah Nah :p | http://www.strcat.de/ }
{ /__| \____/ |__\ | http://www.strcat.de/blog/ }
{ \___U__/ | http://strcat.de/chris.gpg }
Du meintest am 25.09.08:
> ich habe ein Skript, welches mit `#!/usr/bin/env perl'
> beginnt. Ich muss es mit sudo ausführen, bekomme aber
> Fehlermeldung, weil der sudo PATH Perl nicht kennt.
Darfst Du das Skript ändern? Wenn ja:
which perl
sollte Dir den Pfad zu perl zeigen; dann
ersetze
#!/usr/bin/env perl
durch
#!</Pfad/zu/perl>
z.B.
#! /usr/bin/perl
Viele Gruesse
Helmut
"Ubuntu" - an African word, meaning "Slackware is too hard for me".
Nicht direkt.
man sudoers | less -p env_keep
man sudoers | less -p exempt_group
Pech hast du, wenn dein sudo mit --with-secure-path uebersetzt wurde.
Dann musst du den Pfad in der Shell-initialisierungsdatei des
ziel-Nutzers anpassen. (also ~username/.`basename ${SHELL}`rc oder so)
Juergen
--
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)
Bei --with-secure-path hilft das auch nicht.
>
> z.B.
>
> #! /usr/bin/perl
Danke, das hat gereicht :)
wow. Ich wusste nicht, dass die Option eines secure path
binär einkompiliert ist ..
Ich denke, die Lösung von Helmut ist am einfachsten.
Danke trotzdem
Henning