
Ich habe einen IIS 7.5-Webserver, der unter Windows 2008r2 läuft. Wenn ich versuche, in eine Datei zu schreiben, erhalte ich die Fehlermeldung „Zugriff verweigert“, aber ich weiß nicht, wie ich die Berechtigungen korrigieren kann.
- Ich habe PHP über FastCGI so konfiguriert, dass Identitätswechsel möglich sind
- Ich habe IIS, das Kerberos verwendet, um den authentifizierten Benutzer über die Windows-Authentifizierung abzurufen. Der AppPool, unter dem die Site läuft, wird unter einem Dienstkonto ausgeführt. Dieses Dienstkonto ist Mitglied der Administratorgruppe auf dem Server.
- Ich kann (in PHP) über die
$_SERVER['REMOTE_USER']
globale Option sehen, wer dieser Benutzer ist. - Dieser Benutzersollensein, der versucht, die Datei zu bearbeiten. Auf diesem System bin ich Administrator.
- Die Datei verfügt über SYSTEM und Administratoren mit Vollzugriff. Benutzer haben Lese- und Lese- und Ausführungsberechtigungen für die Datei (die von der Stammverzeichnisebene geerbt werden
C:\
). Dies sind die einzigen Benutzer/Gruppen, die mit Berechtigungen für die Datei aufgeführt sind. - Über PHP kann ich die Datei lesen, aber nicht schreiben.
- Wenn ich ausführe
phpinfo()
, wird es$_SERVER['USERNAME']
als aufgeführtservername$
, aber das ist kein Konto, für das ich Berechtigungen erteilen kann (Windows kann es nicht finden).
Bisher habe ich Folgendes versucht:
- Ich füge die Konten IUSR, Authentifizierte Benutzer, Anonyme Anmeldung und NETWORK SERVICE hinzu und gebe ihnen volle Kontrolle. Nur um zu sehen, ob ich schreiben kann. Kein Erfolg.
- Der Gruppe „Benutzer“ volle Kontrolle erteilen. Kein Erfolg.
- Datei neu erstellen. Kein Erfolg.
- Es wurde sichergestellt, dass SYSTEM, Administratoren und Benutzer über vom Root-Zugriff geerbte Berechtigungen verfügen,
C:\
sodass kein Problem mit unzugänglichen Pfaden auftreten sollte.
Ich bin mir nicht sicher, wie es weitergehen soll. Normalerweise bin ich ein Linux-/Mac-Typ, aber ich muss diese Site unter Windows bereitstellen.
Gibt es Vorschläge, wo ich die Berechtigungen überprüfen kann, die ich möglicherweise übersehen habe?