IIS Berechtigungen und CGI

Hallo,

ich habe eine Frage zum IIS. Ich vermute ein Problem mit den Berechtigungen des IUSR-Accounts, habe aber keine Idee, wo ich ansetzen muss, um das Problem zu lösen. Fpr entsprechende Hinweise bin ich dankbar!

Ausganssituation:

Ich habe ein in VB6 selbsterstelltes CGI-Programm (MyCGI.exe), das mit Werten aus einem HTML-Formular versorgt wird, ein paar Berechnungen durchführt und das Ergebnis wieder an den Browser zurück gibt.
Das funkzioniert auch alles bestens!

Ich möchte an bestimmten Schlüsselpositionen innerhalb von MyCGI.exe, bestimmte Werte in eine Logdatei schreiben, damit ich im Fehlerfall nachsehen kann, wo es scheitert.
Für diese Aufgabe habe ich eine Routine, die die übergebenen Parameter in eine Logdatei schreibt. Diese Routine funktioniert an sich ebenfalls und ich verwende sie in all meinen Programmen.
Allerdings ist MyCGI.exe mein erstes CGI-Programm und hier funktioniert ein Schreibzugriff auf die Festplatte gar nicht. Ich vermute das Problem bei dem IUSR, der ja letztlich das myCGI.exe ausführt, wenn ich im Browser den [Submit]-Button meines HTML-Formulars anklicke.
Ich höre auch noch ein „Tock“, wenn ich das an meinem lokalen Webserver teste. Da das CGI aber keine Fehlermeldungen am Bildschirm ausgibt, kann ich nicht feststellen, was in der MsgBox steht, die mit dem „Tock“ vermutlich angezeigt wird.

Ich habe es soweit feststellen können, dass der Fehler dann auftritt, wenn ich schreibend auf das Logfile zugreifen will.
Dabei spielt es auch keine Rolle, ob ich das Logfile im selben Verzeichnis anlegen will, in den sich auch MyCGI.exe befindet, oder ob ich es irgendwo anders auf den Server schreiben will.

Wie gesagt, vermute ich ein Berechtigungsproblem mit dem IUSR, aber wie kann ich das lösen ?
Wie kann ich mein MyCGI.exe dazu bewegen, dass es ein Logfile schreibt, auch wenn der IUSR das nicht darf ?

Konfiguration des IIS:

Das docroot ist C:\Inetpub\wwwroot.

Das MyCGI.exe liege im Verzeichnis C:\Inetpub\wwwroot\cgi-bin.

Im IIS-Manager habe ich „cgi-bin“ als Virtual Directory in meiner Standard-Website angelegt und auch Scriptausführung für CGIs erlaubt.

Es spielt auch keine Rolle, wenn ich gezielt „Schreiben“ auf „cgi-nim“ im IIS-Manager erlaube.
Ich kann lediglich eine Textdatei lesen, die im selben Verzeichnis liegt, wie MyCGI.exe.

Gruß aus München,
Frank

Hallo,

ich hätte gerne geholfen, weiß abre leider keinen Rat - sorry.

Hallo,

deine Frage kommt aus der Microsoft-Welt.
Leider kann ich dir in dieser Welt nicht weiter helfen,
da ich mehr in der Linux-Welt zu hause bin.

gruss
WebKlee

So wie ich Ihre Angaben verstehe soll eine *.exe Datei im CGI-Ordner ausgeführt werden. Einen Versuch wäre es wert mal ein Perl/CGI-Skript laufen zu lassen, z.B.

#!/usr/local/bin/perl

hello.pl – my first perl script!

print „Content-type: text/html\n\n“;
print „Hello, world!\n“;

das ganze als hello.cgi speichern und auf den Server in das cgi-bin/-Verzeichnis kopieren/hochladen.
Wichtig ist das Perl installiert ist:
http://www.activestate.com/activeperl/downloads
http://www.perlboard.de/perlguide/KapDD.html
http://perl-seiten.privat.t-online.de/html/perl_inha…

Bei weiteren Fragen stehe ich gerne zur Seite und helfe bei der Fehlersuche

Grüße aus Pforzheim/Schömberg

Hallo,

das gaben Sie absolut richtig verstanden, ich will eine .exe-Datei, die in VB6 programmiert ist, als CGI ausführen. Wie schon geschrieben, funktioniert das ja azch grundsätzlich, nur das mit dem Logfile schreiben klappt nicht, da ein Schreibversuch geblockt wird.

Perl oder PHP verwende ich ansonsten hauptsächlich, um CGIs zu erstellen. Nun habe ich aber eine Sonderfall, der den Einsatz einer in VB6 erstellten .exe-Datei erfordert.

Wie ich schon geschrieben habe, vermute ich das Problem an den Berechtigungen des IUSR-Accounts, bin aber am Rätseln, wie ich das am besten gelöst bekomme, schließlich kommt jeder, der die Seite aufruft unter diesem Account auf den Webserver.
Es soll aber nur das CGI schreiben dürfen auf die Festplatte und nicht jeder User.
Das scheint doch etwas vertrackt zu sein…

Gruß aus München,
Frank