Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

sudo und Path

0 views
Skip to first unread message

Henning Bredel

unread,
Sep 25, 2008, 9:01:31 AM9/25/08
to
Hallo zusammen,

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

--

Christian Schneider

unread,
Sep 25, 2008, 9:20:50 AM9/25/08
to
Thus spake Henning Bredel (henning...@gmx.de):

> 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.

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 }

Helmut Hullen

unread,
Sep 25, 2008, 9:32:00 AM9/25/08
to
Hallo, Henning,

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".

Juergen P. Meier

unread,
Sep 26, 2008, 12:27:17 AM9/26/08
to
Henning Bredel <henning...@gmx.de>:

> Wo kann ich nun den sudo PATH anpassen?

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)

Juergen P. Meier

unread,
Sep 26, 2008, 12:32:54 AM9/26/08
to
Christian Schneider <str...@gmx.net>:

> sudo(8) hat keine eigene PATH-Variable; lies "man 8 sudo" und such nach
> "-i".

Bei --with-secure-path hilft das auch nicht.

Henning Bredel

unread,
Sep 26, 2008, 3:04:22 AM9/26/08
to
Helmut Hullen schrieb:

>
> z.B.
>
> #! /usr/bin/perl

Danke, das hat gereicht :)

Henning Bredel

unread,
Sep 26, 2008, 3:06:40 AM9/26/08
to
Juergen P. Meier schrieb:

> Henning Bredel <henning...@gmx.de>:
>> Wo kann ich nun den sudo PATH anpassen?
>
> 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

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

0 new messages