• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

IIS, PHP und CIFS Freigabe

Saftschubser

New Member
Hallo zusammen,

ich versuche, mit einem PHP Script auf eine Freigabe zuzugreifen.
Diese wurde wie folgt angelegt:

net use Z: \\vid123456.nas1.lan\vid123456 /user:nas1\uidXXXXX YYYYYYY

Ich erhalte zwar keine Fehlermeldung, das Script jedoch ist nicht willens, auf eine Datei zuzugreifen:


PHP:
<?php
if(fopen('Z:/cifs.php'))
{
echo "test";
}
Anstelle Z: habe ich auch den Pfad der Freigabe (\\vid62609.nas1.lan\vid62609) verwendet. Klappt ebenfalls nicht.

Ich vermute daher, es handelt sich um ein Problem der Berechtigung.

Was muss ich machen, um IIS und PHP dazu zu bewegen, auf die Freigabe zugreifen zu dürfen? Rechtsklick Freigabe -> Eigenschaften -> Sicherheit, welchen Benutzer muss ich hinzufügen?
Gebe ich IIS_IUSRS als Objektnamen ein, fragt er anschließend nach Benutzernamen / Kennwort, dort gebe ich die Daten der Freigabe ein. Dann sagt ein neues Fenster:"Name nicht gefunden."

Hat jemand einen Rat?

Danke und Gruß
Boris
 
Hi,

ob es an den Berechtigungen liegt kannst Du ausschließen wenn Du dort Any einträgst. Mehr kann ich zu dem Thema leider nicht sagen, kenne mich mit dem IIS nicht aus.

Grüße
mkeil
 
Das Resultat:

Ein Objekt namens "ANY" wurde nicht gefunden. Überprüfen Sie die gewählten Objekttypen und den Pfad, und vergewissern Sie sich, dass Sie den Objektnamen richtig eingegeben haben, oder entfernen Sie dieses Objekt aus der Liste.
 
Und Du bist nicht von selbst darauf gekommen, dass Du mal "everyone"(ist es z.B. bei der englischsprachigen Windowsvariante) versuchst?

Der Denkanstoß war nämlich: gib das Skript (cifs.php) vorübergehend für alle frei, um zu prüfen, ob es sich um ein Berechtigungsproblem handelt.
Mal so nebenbei: was passiert denn mit dem Skript an sich, findet z.B. Output außerhalb der Bedingung statt?
 
Nein, auf die Idee bin ich noch nicht gekommen, denn sonst hätte ich es sicher probiert.

Auch nach Änderung ergibt sich keine andere Ausgabe.
Außerhalb der Bedinung erfolgt ganz regulär die Ausgabe, zb ein echo "X";
 
Error Reporting ist aktiviert, was ich beim Testen grundsätzlich mache.

Ich beschreibe jetzt mal folgende Schritte, die ich unternommen habe.

1.) per net use Freigabe hinzugefügt, Zugriff per Explorer möglich.
2.) dort Verzeichnis abc angelegt
3.) Rechtsklick auf Verz., Eigenschaften, Sicherheit, Bearbeiten, Hinzufügen, IUSR hinzugefügt
4.) Kennwortabfrage erscheint, User und Kennwort für Freigabe eingegeben. Erscheint in Liste, klicke Übernehmen, IUSR verschwindet, füge wieder hinzu, verschwindet wieder.

whoami liefert: nt authority\iusr

PHP:
<?php    
error_reporting(E_ALL);
ini_set('display_errors',true);

echo shell_exec("whoami");
if(fopen('Z:/abc/aaa.txt',"r"))
{
echo "Klappt";
}
else
{
echo "Klappt nicht";
}


$isFolder = is_dir("\\\\vid62609.nas1.lan\vid62609\abc");
var_dump($isFolder); //liefert false

$isFolder = is_dir("//vid62609.nas1.lan/vid62609/abc");
var_dump($isFolder); //liefert false

$isFolder = is_dir("Z:/vid62609/abc");
var_dump($isFolder); //liefert false

Ausgabe

Warning: fopen(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in cifs.php on line 6 Warning: fopen(Z:/abc/aaa.txt): failed to open stream: No such file or directory in cifs.php on line 6

Klappt nicht

Ich habe ehrlich gesagt, woran es nun liegen kann.
Pfad stimmt, Datei vorhanden. Ebenfalls versucht, hinzuzufügen:

IIS_IUSRS
VM7C34C40\IIS_IUSRS

Objekte nicht gefunden.
 
Hat der IIS Benutzer Zugriffsrechte auf den Pfad?

Von IIS habe ich keine Ahnung aber net use ist per User. Wenn IIS also als User X Läuft, der Share aber via User A angelegt wurde kann User X nicht darauf zugreifen bzw. sieht diesen erst garnicht.

Die gleiche Problematik gibt es bei Apache unter Windows (Je nach installationstyp).
 
Last edited by a moderator:
Back
Top