none
IIS FTP-Server oder Apache Webserver: Netzwerkpfad als virtuelles Verzeichnis RRS feed

  • Frage

  • Hallo,

    auf einer Maschine läuft sowohl ein IIS FTP-Server, als auch ein ApacheWebserver.
    Bei beiden möchte ich ein virtuelles Verzeichnis hinzufügen, das auf einen Netzwerkpfad zeigt.
    Bei beiden funktioniert das nicht.

    Nennen wir den Netzwerkpfad \\PC\Freigabe\Ordner1
    Den habe ich bereits als Laufwerk M: gemountet. Über den Explorer kann ich also zum Beispiel problemlos darauf zugreifen.

    IIS:
    FTP-Site auswählen - Aktion - Neu - Virtuelles Verzeichnis - Alias angeben
    Im nächsten Schritt will ich über den Durchsuchen-Button das Laufwerk M: auswählen. Wenn ich das mache, ist der OK-Button deaktiviert. Also gebe ich M:\ manuell ein. Der Status vom neuen Verzeichnis ist dann "Das System kann den angegebenen Pfad nicht finden.". Ich nehme an, dass dieses Netzlaufwerk M: nur unter meinem Benutzernamen verfügbar ist, nicht aber unter dem Systembenutzer, unter dem der IIS läuft.

    Also in den Verzeichniseigenschaften umstellen auf "In einem Verzeichnis auf einem anderen Computer" und UNC-Pfad angeben. Status: "Zugriffverweigert". Client-Fehlermeldung: "Anmeldung fehlgeschlagen: Unbekannter Benutzername oder falsches Passwort.".
    Also bei "Verbinden als" den Haken rausnehmen und die Logindaten für den Computer "PC" eingeben.
    Kein Unterschied.

    Apache:
    An die httpd.conf habe ich folgende Zeile angehängt:
    Alias /Ordner1 M:/
    Der Aufruf /Ordner1 führt mich aber zu meiner 404-Fehlerseite.
    Das Modul ist geladen ("LoadModule alias_module modules/mod_alias.so" ist nicht auskommentiert).
    Hier weiß ich erst recht nicht, wie ich Logindaten zu einem UNC-Pfad angeben sollte.

    Bin für jeden Tipp dankbar.
    Mittwoch, 2. Juni 2010 22:18

Antworten

  • Hi,
    auf einer Maschine läuft sowohl ein IIS FTP-Server, als auch ein ApacheWebserver.
    Bei beiden möchte ich ein virtuelles Verzeichnis hinzufügen, das auf einen Netzwerkpfad zeigt.
    Bei beiden funktioniert das nicht.

    Nennen wir den Netzwerkpfad \\PC\Freigabe\Ordner1
    Den habe ich bereits als Laufwerk M: gemountet. Über den Explorer kann ich also zum Beispiel problemlos darauf zugreifen.
    welche IIS Version setzt Du ein? Welche IIS FTP Version?

    FTP-Site auswählen - Aktion - Neu - Virtuelles Verzeichnis - Alias angeben
    Im nächsten Schritt will ich über den Durchsuchen-Button das Laufwerk M: auswählen. Wenn ich das mache, ist der OK-Button deaktiviert. Also gebe ich M:\ manuell ein. Der Status vom neuen Verzeichnis ist dann "Das System kann den angegebenen Pfad nicht finden.". Ich nehme an, dass dieses Netzlaufwerk M: nur unter meinem Benutzernamen verfügbar ist, nicht aber unter dem Systembenutzer, unter dem der IIS läuft.
    Netzlaufwerke sind für Dienste nicht vorhanden, da es diesen Benutzerkontext gar nicht gibt. Du musst also eh zwingend \\server\freigabe\ordner angeben.
    Also in den Verzeichniseigenschaften umstellen auf "In einem Verzeichnis auf einem anderen Computer" und UNC-Pfad angeben. Status: "Zugriffverweigert". Client-Fehlermeldung: "Anmeldung fehlgeschlagen: Unbekannter Benutzername oder falsches Passwort.".

    IIS greift, je nach Version und Einstellungen meist als NETZWERKDIENST bzw. NETWORK SERVICE auf Resourcen zu. Und da kommt dann ein weiterer Aspekt ins Spiel. Jeder (Everyone) ist eben halt nicht Jeder :) NETZWERKDIENST gehört nicht zu Jeder!

      http://weaselfire.wordpress.com/2009/07/09/everyone-isnt-everyone/

    Mit dem IIS FTP 7.5 hast Du ein paar mehr Möglichkeiten, so zum Beispiel auch einer FTP Site einen bestimmten Application Pool zuzuweisen. Dort wiederum kannst Du auch den Account bestimmen, mit dem dieser Application Pool läuft.

      http://www.iis.net/download/ftp

    In deinem Fall würde ich es mal so versuchen:

    Auf beiden Rechnern einen Account (jeweils mit identischem Passwort) anlegen.

    • Im IIS FTP diesen Account als ausführenden Benutzer des Application Pools anlegen
    • Auf dem anderen PC diesen User Rechte für die UNC Freigabe und für das lokale Verzeichnis geben
    • Testen

    Wenns nicht klappt

    • im IIS FTP zusätzlich noch "Verbinden als" mit diesem Account einstellen.
    • Nochmal testen

    HTH

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Samstag, 5. Juni 2010 12:58
    Moderator

Alle Antworten

  • Hallo,

    wenn Du im IIS ein neues virtuelles Verzeichnis anlegst, dann kannst Du dort als Pfad einen UNC Pfad angeben. Auf der zweiten Seite des Assistenten hast Du dann die Möglichkeit einen Benutzernamen und ein Kennwort einzugeben. Sinnvoll wäre natürlich, wenn dieses Benutzerkonto dann auch entsprechende Zugriffsrechte hat. Wenn sich der FTP Server in einer Domäne befindet, dann könnte man auch die "Delegierung" einsetzen. Dort werden die Credentials des Users an den Fileserver weitergeben, der sich am FTP angemeldet hat.

    Beim Indianer musst Du auch den UNC angeben. Der Dienst müsste dann unter dem User laufen, der auf den UNC Pfad Zugriff hat.

    BTW: Warum installiert man einen Windows Server und vergewaltigt den dann mit einer Apache Installation? Wäre es da nicht einfacher und kostengünstiger eine Linux Distri deiner Wahl zu nehmen und dort den Apachen zu installieren?

    Viele Grüße

    Frank

     


    -- Frank Röder MVP Directory Services blog.iteach-online.de --
    Donnerstag, 3. Juni 2010 04:29
  • Danke für deine Antwort.

     

    Genau das habe ich ja gemacht - UNC-Pfad angegeben und im nächsten Schritt Benutzernamen und Passwort vom "PC" (Zielcomputer) eingeben: "Zugriff verweigert". Ich glaube, ich habe noch nicht erwähnt, dass "Jeder" Vollzugriff auf das Zielverzeichnis an "PC" hat, das ich als UNC-Pfad angegeben habe.

    Testweise habe ich dann mal auf Server und Zielcomputer gleichnamige Benutzerkonten "FTP" mit gleichem Passwort eingerichtet. Dann in den Eigenschaften des virtuellen Verzeichnisses bei "Verbinden als" die bisherigen Logindaten vom Zielcomputer ersetzt durch diese neuen. Interessanterweise ist dann im IIS-Interface die Statusmeldung ("Zugriff verweigert") verschwunden. Wenn ich aber von einem FTP-Client aus versuche, das Verzeichnis zu öffnen, bekomme ich trotzdem "550 Zugriff verweigert".

     

    Den Indianer müsste ich dann also auch unter diesem FTP-Benutzer laufen lassen...? Das ist ja wie damals wenn man zwischen Windows 9X und Windows NT Dateien über's Netzwerk schieben wollte...

    Edit: Ich habe den Apache-Service jetzt so konfiguriert, dass er unter diesem FTP-Benutzer gestartet wird. Beim Alias habe ich den UNC-Pfad angegeben. Ich kann dieses virtuelle Verzeichnis zwar öffnen, bekomme dann auf der Index-Seite nur eine Datei angezeigt, die zwei Ebenen tiefer (also in 2 Unterordnern) ist. Diese lässt sich tatsächlich öffnen. Wenn ich eine Datei manuell aufrufen will, die tatsächlich in diesem Verzeichnis ist, gibt's wieder einen 404.

     

    Zu deiner Frage: Na ja, es ist in dem Fall nur ein kleines Serverchen. Theoretisch wäre mir Linux lieber, aber da laufen ein paar Programme, die es nur für Windows gibt (da hilft auch kein WINE). Aber warum ist das denn gleich eine Vergewaltigung? Wenn ich mich recht erinnere, hat der Apache bisher nur ein einziges Mal grundlos blau gemacht (Seiten wurden nur noch halb geladen, einige gar nicht mehr). Nach einem Neustart war er dann wieder gesund.

    Donnerstag, 3. Juni 2010 08:31
  • Hallo,

    aktiviere doch einfach mal auf dem Fileserver die Objektüberwachung für fehlgeschlagene Zugriffsversuche und danach für den freigegebenen Ordner die Überwachung für die Gruppe Ordner.

    Dann werden wir sehen, ob es an der Berechtigung liegt. Was mir noch einfällt: Auf was für einer Maschine liegt denn die Freigabe? Kann es eventuell sein, dass Du als Benutzernamen den "Administrator" nutzt und der zufällig für die Testzwecke kein Kennwort hat?

    Viele Grüße

    Frank


    -- Frank Röder MVP Directory Services blog.iteach-online.de --
    Donnerstag, 3. Juni 2010 11:28
  • Hallo,

    der Fileserver ist ein XP Pro. Ich habe bei den Sicherheitsrichtlinien unter Lokale Richtlinien - Überwachungsrichtlinien - Objektzugriffsversuche überwachen den Haken bei "Fehlgeschlagen" gesetzt (zusätzlich noch bei ein paar anderen).

    Was meinst du mit "für den freigegebenen Ordner die Überwachung für die Gruppe Ordner" - wo soll ich was einstellen?

    Und nein, ich verwende keinen Benutzer ohne Passwort.

    Dann habe ich noch mal von einem FTP-Client aus versucht, in mein virtuelles Verzeichnis zu wechseln (immer noch "Zugriff verweigert"). Dann auf dem Fileserver im Ereignisprotokoll unter Sicherheit nachgesehen. Es ist zum Zugriffszeitpunkt nur ein Eintrag hinzugekommen: Fehlerüberwachung (in diesem Fall habe ich vorher testweise die Firewall deaktiviert):

    ===

    Der Windows-Firewall hat eine Anwendung ermittelt, die eingehenden Datenverkehr abhrt.
     
    Name: -
    Pfad: C:\WINDOWS\system32\svchost.exe
    Prozesskennung: 1604
    Benutzerkonto: NETZWERKDIENST
    Benutzerdomne: NT-AUTORITT
    Dienst: Ja
    RPC-Server: Nein
    IP-Version: IPv4
    IP-Protokoll: UDP
    Portnummer: 54071
    Zugelassen: Nein
    Benutzer benachrichtigt: Nein

    Weitere Informationen ber die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.

    ===

    Bei der Gelegenheit ist mir aufgefallen, dass das Systemprotokoll überquillt mit Fehlermeldungen, die offensichtlich vom DigitalPersona Password Manager kommen, den ich bereits vor Jahren deinstalliert habe (dafür ist er unter Systemsteuerung - Software noch immer und lässt sich nicht deinstallieren), unter anderem:

    Der Dienst "Windows XP FUS Manager" ist vom Dienst "Biometric Authentication Service" abhngig, der aufgrund folgenden Fehlers nicht gestartet wurde:
    Das System kann den angegebenen Pfad nicht finden.

     

    Donnerstag, 3. Juni 2010 12:14
  • Hallo,

    gehe mal in die Eigenschaften des Ordners auf dem Fileserver -> Registerkarte "Sicherheit" -> Button "Erweitert" -> Registerkarte " Überwachung". Dort musst Du noch die Überwachung für die Gruppe "Jeder".

    Viele Grüße

    Frank


    -- Frank Röder MVP Directory Services blog.iteach-online.de --
    Donnerstag, 3. Juni 2010 13:59
  • Hallo,

    ich habe die Gruppe "Jeder" hinzugefügt (alle Haken gesetzt).

    Im Ereignisprotokoll wird aber gar nichts protokolliert, auch nicht wenn ich auf dem Fileserver lokal über den Explorer eine Datei in dem Ordner öffne!?

    Donnerstag, 3. Juni 2010 14:16
  • Hallo,

    wenn Du nur fehlgeschlagene Objektzugriffsversuche in der lokalen Sicherheitsrichtlinie protokollierst, dann kannst Du auch nichts im Sicherheitsprotokoll sehen wenn Du erfolgreich auf eine Datei über den Explorer zugreifst. Trotzdem muss bei dem Zugriff verweigert über den FTP Server etwas im Eventlog der WIn XP Kiste stehen.

    Prüfe wirklich noch einmal ob Du alles korrekt gesetzt hast.

    Viele Grüße

    Frank


    -- Frank Röder MVP Directory Services blog.iteach-online.de --
    Donnerstag, 3. Juni 2010 18:08
  • Hallo,

    wenn ich auch erfolgreiche Objektzugriffe überwachen lasse, werden bei jedem Dateizugriff über den Explorer einige Einträge im Sicherheitsprotokoll erstellt. Bei einem Zugriff über FTP auf das virtuelle Verzeichnis wird aber trotzdem kein Eintrag erstellt. Man könnte meinen, der IIS versucht gar nicht erst, auf den Fileserver zuzugreifen.

    Ich habe bereits alles x-mal durchgeschaut, ich weiß nicht mehr, wo ich noch schauen soll.

    Was könnte ich falsch machen? Warum ist das denn überhaupt so schwierig - warum nicht einfach UNC-Pfad und Logindaten eingeben und fertig?

    Donnerstag, 3. Juni 2010 20:38
  • Hi,
    auf einer Maschine läuft sowohl ein IIS FTP-Server, als auch ein ApacheWebserver.
    Bei beiden möchte ich ein virtuelles Verzeichnis hinzufügen, das auf einen Netzwerkpfad zeigt.
    Bei beiden funktioniert das nicht.

    Nennen wir den Netzwerkpfad \\PC\Freigabe\Ordner1
    Den habe ich bereits als Laufwerk M: gemountet. Über den Explorer kann ich also zum Beispiel problemlos darauf zugreifen.
    welche IIS Version setzt Du ein? Welche IIS FTP Version?

    FTP-Site auswählen - Aktion - Neu - Virtuelles Verzeichnis - Alias angeben
    Im nächsten Schritt will ich über den Durchsuchen-Button das Laufwerk M: auswählen. Wenn ich das mache, ist der OK-Button deaktiviert. Also gebe ich M:\ manuell ein. Der Status vom neuen Verzeichnis ist dann "Das System kann den angegebenen Pfad nicht finden.". Ich nehme an, dass dieses Netzlaufwerk M: nur unter meinem Benutzernamen verfügbar ist, nicht aber unter dem Systembenutzer, unter dem der IIS läuft.
    Netzlaufwerke sind für Dienste nicht vorhanden, da es diesen Benutzerkontext gar nicht gibt. Du musst also eh zwingend \\server\freigabe\ordner angeben.
    Also in den Verzeichniseigenschaften umstellen auf "In einem Verzeichnis auf einem anderen Computer" und UNC-Pfad angeben. Status: "Zugriffverweigert". Client-Fehlermeldung: "Anmeldung fehlgeschlagen: Unbekannter Benutzername oder falsches Passwort.".

    IIS greift, je nach Version und Einstellungen meist als NETZWERKDIENST bzw. NETWORK SERVICE auf Resourcen zu. Und da kommt dann ein weiterer Aspekt ins Spiel. Jeder (Everyone) ist eben halt nicht Jeder :) NETZWERKDIENST gehört nicht zu Jeder!

      http://weaselfire.wordpress.com/2009/07/09/everyone-isnt-everyone/

    Mit dem IIS FTP 7.5 hast Du ein paar mehr Möglichkeiten, so zum Beispiel auch einer FTP Site einen bestimmten Application Pool zuzuweisen. Dort wiederum kannst Du auch den Account bestimmen, mit dem dieser Application Pool läuft.

      http://www.iis.net/download/ftp

    In deinem Fall würde ich es mal so versuchen:

    Auf beiden Rechnern einen Account (jeweils mit identischem Passwort) anlegen.

    • Im IIS FTP diesen Account als ausführenden Benutzer des Application Pools anlegen
    • Auf dem anderen PC diesen User Rechte für die UNC Freigabe und für das lokale Verzeichnis geben
    • Testen

    Wenns nicht klappt

    • im IIS FTP zusätzlich noch "Verbinden als" mit diesem Account einstellen.
    • Nochmal testen

    HTH

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Samstag, 5. Juni 2010 12:58
    Moderator