Deshalb meine Frage muß dem "Ausführer" die Datei gehören um chmod benutzen zu können?
Überlege mal kurz: Würdest Du es gut finden, wenn fremde Leute an Deinen Dateien rumspielen könnten? Nein? Warum sollst Du dann an den Dateien anderer Leute rumspielen dürfen?
Daß Du das Skript geschrieben hast, ist dem Dateisystem egal, es achtet nur darauf, wer das Skript gerade benutzt. In Deinem Falle der Webserver, nicht Du selbst.
Wie kann ich mit chown (in einem perl script) User und Group von "ftponly" auf "nobody" setzen?
Garnicht. Wenn Du schon (aus sicher verständlichen Gründen) die Rechte an fremden Dateien nicht ändern kannst, kannst Du erst recht nicht den Eigentümer fremder Dateien ändern (und ihm somit die Dateien "klauen").
Variante 1: Lade die betreffende Datei vorher leer mit FTP hoch, damit Du Eigentümer der Datei bist, und gebe "allen" Schreib- und/oder Leserechte, damit auch der Webserver bzw. Dein Skript auf die Datei zugreifen dürfen.
Variante 2: Wechsel' den Hoster und gehe zu einem, der CGI-Anwendungen im Namen des jeweiligen Skriptdateibesitzers ausführen lässt, nicht im Namen des Webservers ("suexec" ist das Stichwort für den Apache).
Gruß,
soenk.e