2016-05-24 3 views
0

ich eine PHP-Seite, die Dateien auf meinem lokalen PC, in einen bestimmten Ordner mit dem Namen UploadedImages schreibt. Das alles funktioniert gut. Das Problem ist, dass Windows, wenn ich die Datei anschaue (immer eine Bilddatei - in diesem Fall eine .png), und doppelklicke, Windows sagt, ich habe keine Erlaubnis, sie anzusehen. Wieder Dateiberechtigungen auf dem UploadedImages Ordner weit offen (Jeder -> Lesen/Schreiben), und mein Login-Account hat Full Control, und mein Login-Account ist der Besitzer des Ordners.php schreibt Dateien, die ich nicht zugreifen kann - Windows IIS

Wenn ich die Datei mit der rechten Maustaste und in Berechtigungen gehen, es zeigt, dass ich auf die Datei keine Berechtigungen haben. Ich kann hineingehen und Besitz und Berechtigungen gewähren, dann sehe ich es - aber es macht keinen Sinn, dass ich das jedes Mal machen muss.

Wie kann ich dies dauerhaft lösen, so dass jeder mein PHP-Skript in diesem Ordner I automatisch/vollen Zugriff auf sie haben, schreibt Datei?

ich Windows 10 Uhr ausgeführt wird, IIS 10.0 und PHP 5.6.11. Es scheint, dass IUSR-Konto die Berechtigungen erhält, aber warum würde ich (die ADMIN auf dem Ordner) alle meine Rechte widerrufen, nur weil PHP eine Datei dort schreibt? Vielen Dank.

Antwort

0

Eine der Lösungen ist versuchen, Web-Server unter bestimmten Benutzer ausgeführt wird (nicht admin), zu dem Sie volle Zugriffsrechte haben. Zweite mögliche Lösung: Vielleicht enthält Ihre virtuelle Host-Konfiguration eine Anweisung, die den Server zwingt, unter admin oder Benutzer zu arbeiten, auf den Sie keinen Zugriff haben - versuchen Sie, ihn zu ändern.

+0

Ich kann nicht finden, wo in IIS, dies zu tun. Detaillierte Schritte? – HerrimanCoder

0

@SweatCoder: Sie sagten:

Wieder Dateiberechtigungen auf dem UploadedImages Ordner weit offen sind (Jeder -> Lesen/Schreiben), und das Anmeldungskonto hat Vollzugriff, und das Anmeldungskonto ist die Besitzer des Ordners. [...] Wenn ich mit der rechten Maustaste auf die Datei und gehen Sie in Berechtigungen, zeigt es, dass ich keine Berechtigungen für die Datei haben. Ich kann hineingehen und mir Eigentum und Berechtigungen gewähren, dann sehe es

Dies ist was "Vererbung" genannt wird. Sie müssen die Vererbung für den Ordner festlegen, sodass die Berechtigungen für Dateien vom übergeordneten Verzeichnis übernommen werden.

// edit: siehe icacls Hilfeinformationen in cmd.exe: icacls /?

+0

Kann dies nur über die Befehlszeile (icacls) erfolgen? Nicht über die Benutzeroberfläche? Ich habe über die Vererbung nachgedacht, als ich dort war (UI), konnte aber nicht herausfinden, wie ich es machen kann. – HerrimanCoder

+0

Ich ging hinein und schaute, und Vererbung wurde bereits aktiviert. Jedes Mal, wenn eine neue Datei geschrieben wird, werden die Berechtigungen unabhängig davon erneut gebrochen. Das Seltsame ist, dass ich andere lokale PHP-Apps auf meinem PC habe, die Dateien schreiben und keines von ihnen dieses Problem hat. – HerrimanCoder