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