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

Re: boa, cgi, script ausführen



Hallo,

Mike Dietrich wrote:
> Ein kleines Shell-Script, welches fetchmail/Exim startet, soll per cgi
> über den Browser durch $User gestartet werden. Als http-Server läuft
> Boa. Funktioniert soweit.
> Das Script startet, hat aber keine keine Rechte z.B. Exim4 auszuführen,
> weil es ja mit den Rechten des Webservers gestartet wird (www-data).
> 
> Wie kann ich dieses Rechteproblem schnell und elegant lösen.

So etwas wie setuid-root binaries sind ziemlich übel. Daher wäre mein
Vorschlag:

Baue eine kleines Shellscript, das als root läuft, und das aus einer
named pipe Daten zeilenweise liest, und einfach nach jeder gelesenen
Zeile das Script ausführt.

Dann kannst du die named pipe für www-data schreibbar machen und in dem
CGI-Script bei jedem Aufruf eine Zeile in die fifo schreiben. Dann musst
du noch dafür sorgen, dass sie höchstens zeilenweise gepuffert ist.
Und du solltest dafür sorgen, dass es ein Obergrenze für die Aufrufe pro
Minute (oder so) gibt, damit man damit keine Denial of Service-Attacke
auf den Server machen kann.

HTH,
Moritz

-- 
Moritz Lenz
http://moritz.faui2k3.org/
http://sudokugarden.de/

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: