[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Wie geht setuid für bash script?



On Sunday 20 September 2009 13:24:52 Matthias Meyer wrote:

Hallo,

> Ich möchte aus einem PHP Programm ein bash script aufrufen.
> Die Herausforderung für mich ist das dieses bash script als ein
>  anderer User laufen soll als der Apache, in dem ja das PHP läuft.

wie du bereits gemerkt hast, funktioniert der SETUID-Mechanismus bei 
Shell-Skripten unter Unix nicht, wie du vielleicht erwartest.

(Die Begründung, die ich dafür kenne, hat wohl damit zu tun, dass man 
davon ausgeht, dass es relativ schwer ist, ein ,,sicheres'' Shell-Skript 
zu schreiben und man sich durch diese Einschränkung davor schützt)

Aus meiner Sicht hast du jetzt u.a. folgende Möglichkeiten, dein Problem 
zu lösen:

1. Du schreibst dir einen kleinen C-Wrapper, der dein Bash-Skript 
ausführt, diesen setzt du dann SETUID.

2. Man könnte auch einen Perl-Wrapper nehmen, da sich Perl-Skript als 
SETUID ausführen lassen. (apt-cache show perl-suid)

3. Du benutzt sudo.

4. Du benutzt suPHP, damit läuft dann dein ganzes (PHP-)Skript als 
entsprechend angegebener User.

 Viele Grüße aus Chemnitz!
 Marcus



Reply to: