Hallo Tobias!
Das Problem sollte sich eigentlich schnell lösen lassen. Dein Script läuft ja problemlos von der Kommandozeile. Das heisst,das es vom Aufbau her fehlerfrei ist. Ich gehe mal davon aus,das du das Programm als root ausgeführt hast?
Wenn dem so ist,haben wir da wahrscheinlich schon die Lösung. Soll das Script über einen Webbrowser aufgerufen werden,so läuft es im Kontext des Apache Servers. Nun kommt es darauf an,welcher user denn diesen Server ausführt. Standardmäßig verknüft confixx/Server4Free einen Benutzer mit dessen virtuellem Host (vHost) unter Apache (web1 mit web1.xxxx.vserver.de, web2 mit web2.xxxx.vserver.de usw.).
In deinem Fall ist es also einfach so,das z.B. Benutzer web2 ein Script ausführen soll an dem er keine Rechte hat. Lösung : Gib ihm (web2) diese Rechte.
[code:1]chown web2:web2 script.cgi
chmod 755 script.cgi[/code:1]
Mit dem ersten Befehl änderst du den Besitzer der Datei script.cgi auf web1. Mit dem zweiten Befehl gibt du dem aktuellen Besitzer (web2) die Rechte zum Lesen, Schreiben, Ändern, Löschen und Ausführen an der Datei script.cgi.
Die selben Berechtigungen vergibst du auch dem Verzeichnis cgi-bin. Das ist sehr wichtig und wird gerne vergessen. Also:
[code:1]chown web2:web1 cgi-bin
chmod 750 cgi-bin[/code:1]
So sollte dein Script auch per Apache laufen.
mfG
Thorsten