Ich will mich nicht über Sicherheitslöcher auslassen, sondern deine Frage beantworten: Allgemein gilt, daß nur der etwas an einer Datei ändern kann (auch die Attribute) dem die Datei gehört (der user oder die user-gruppe).
D.h. wenn dein cgi-skript eine datei selbst! erstellt, kann es auch jederzeit die Rechte ändern (auch andere Skripte die unter derselben Benutzerkennung laufen können das).
Hast du jedoch per ftp eine datei hochgeladen hat sie deine Benutzerkennung. Wenn nun ein Skript läuft hat es eine andere Kennung und produziert beim Rechte umsetzten einen Fehler.
Das kannst du vermeiden indem du für alle Lese und Schreibrechte auf der Kommandozeile! vergibst. Alternativ kannst du auch dein FTP-Programm dafür benutzen. Ich hoffe ich habe dir geholfen.
PS. Das kommando zum Ändern der Rechte einer Datei/Verz:
chmod O777, "datei"; #das ist ein O wie Otto, keine Null!
oder
chmod oct("777"), "datei";
cu, holli