Korrekte Rechtevergabe für CGI-Anwendungen

Moin,

wer kann mir sagen, wo ich Infos zur Rechtevergabe für CGI-Anwendungen finde, oder mir in einem (oder zwei) Sätzen erklären, welche Rechte für folgendes System nötig sind:

-Gästebuch auf PERL
-Datei guestbook.pl im Ordner /cgi-bin/
-Datei guestbook.html, die sowohl das Formular, als auch das jeweils zu ändernde Gästebuch enthält im Ordner /guestbook/

Derzeit habe ich
-Ordner cgi-bin: 755
-guestbook.pl: 755
-Ordner /guestbook/: 777
-guestbook.html: 644

Es klappt zwar alles, aber es scheint mir „zu offen“. Welche Rechte muss ich wirklich notwendigerweise vergeben und warum?

thx
moe.

Hallo,

-Gästebuch auf PERL
-Datei guestbook.pl im Ordner /cgi-bin/
-Datei guestbook.html, die sowohl das Formular, als auch das
jeweils zu ändernde Gästebuch enthält im Ordner /guestbook/

D.h. das Gästebuch wird in „flat files“ (in Dateien, nicht in Datenbanken) gespeichert?

Derzeit habe ich
-Ordner cgi-bin: 755

Passt.

-guestbook.pl: 755

Passt auch.

-Ordner /guestbook/: 777

Das ist natürlich unschön. Wenn das Programm die einzelnen Dateien nicht löscht und wieder anlegt, sondern immer nur öffnet und liest/schreibt, dann reicht 755 aus. Dann musst du halt die Dateien, die geschrieben werden sollen, auf 666 stellen.

-guestbook.html: 644

Passt.

Es klappt zwar alles, aber es scheint mir „zu offen“. Welche
Rechte muss ich wirklich notwendigerweise vergeben und warum?

Sofern der Webserver nicht in der gleichen Benutzergruppe ist wie du, müßen alle Dateien mindestens Leserechte (4) und alle Verzeichnisse das Execute-Bit (1) gesetzt haben. Dateien, die vom Webserver geschrieben werden müssen, brauchen außerdem das Write-Bit (2).

Wenn der Webserver in der gleichen Benutzergruppe ist wie du (z.B. mit Apache SuExec oder wie das heißt…), kannst du die letzte Ziffer immer auf 0 setzen.

HTH,
Moritz