Wir haben kürzlich ein Upgrade auf IIS7 als Kernwebserver durchgeführt, und ich benötige einen Überblick über die Berechtigungen. Zuvor hatte ich dem AppPool-Benutzer (Netzwerkdienst) beim Schreiben in das Dateisystem Zugriff auf das Verzeichnis oder die Datei gewährt.
In IIS7 wird standardmäßig der AppPool-Benutzer auf eingestellt ApplicationPoolIdentity
. Wenn ich also den Task-Manager überprüfe, sehe ich, dass ein Benutzerkonto mit dem Namen "WebSite.com" den IIS-Prozess ausführt ("Website.com" ist der Name der Website in IIS).
Dieses Benutzerkonto existiert jedoch nicht, wenn ich versuche, damit Berechtigungen zu erteilen. Wie bestimme ich also, welcher Benutzer auch die Berechtigungen erteilen soll?
Bearbeiten ================================================= =============================
Siehe unten für das Problem im Screenshot. Unsere Website (www.silverchip.co.uk) läuft unter dem Benutzernamen SilverChip.co.uk. Wenn ich jedoch Pemissionen hinzufüge, existiert dieser Benutzer nicht!
================================= Siehe AppPool Image
quelle
Antworten:
ApplicationPoolIdentity ist die beste Vorgehensweise in IIS7 +. Es ist ein dynamisch erstelltes, nicht privilegiertes Konto. Informationen zum Hinzufügen der Dateisystemsicherheit für einen bestimmten Anwendungspool finden Sie unter "Anwendungspoolidentitäten" von IIS.net . Die schnelle Version:
Wenn der Anwendungspool "DefaultAppPool" heißt (ersetzen Sie diesen Text einfach, wenn er anders benannt ist).
quelle
IIS AppPool\silverchip.co.uk
. Ich habe jedoch keine Punkte in Sicherheitsnamen ausprobiert - möglicherweise möchten Sie sie in etwas ohne Interpunktion ändern.enable load user profile
umtrue
in Anwendung - Pool - Einstellungen. Und erst nach dieser Einstellung konnte ich die Anwendung ausführen. Bitte aktualisieren Sie Ihre Anweisungen und fügen Sie den 9. Punkt hinzu.Denken Sie daran, beim Auflösen des Namens den lokalen Namen des Servers und nicht den Domänennamen zu verwenden
(nur eine Erinnerung, weil mich das ein bisschen gestolpert hat):
quelle
Bei IIS-Standardkonfigurationen reicht es möglicherweise nicht aus, Zugriff auf den Benutzer IIS AppPool \ YourAppPoolName zu gewähren .
In meinem Fall hatte ich immer noch den Fehler HTTP-Fehler 401.3 - Nach dem Hinzufügen des AppPool-Benutzers nicht autorisiert und er wurde erst behoben, nachdem dem IUSR- Benutzer Berechtigungen hinzugefügt wurden .
Dies ist erforderlich, da der anonyme Zugriff standardmäßig über das IUSR erfolgt . Sie können einen anderen bestimmten Benutzer, den Anwendungspool, festlegen oder den IUSR weiterhin verwenden. Vergessen Sie jedoch nicht, die entsprechenden Berechtigungen festzulegen.
Credits für diese Antwort: HTTP-Fehler 401.3 - Nicht autorisiert
quelle
Unter Windows Server 2008 (r2) können Sie einem Ordner über Eigenschaften-> Sicherheit keine Anwendungspoolidentität zuweisen. Sie können dies jedoch über eine Admin-Eingabeaufforderung wie folgt tun:
quelle
Teil A: Konfigurieren Ihres Anwendungspools
Angenommen, der Anwendungspool heißt "MyPool". Gehen Sie im IIS-Manager zu "Erweiterte Einstellungen" des Anwendungspools
Scrollen Sie nach unten zu "Identität". Wenn Sie versuchen, den Wert zu bearbeiten, wird ein Dialogfeld angezeigt. Wählen Sie "Eingebautes Konto" und darunter "ApplicationPoolIdentity".
Ein paar Zeilen unter "Identität" sollte "Benutzerprofil laden" angezeigt werden. Dieser Wert sollte auf 'True' gesetzt werden.
Teil B: Konfigurieren Ihrer Website
Teil C: Konfigurieren Ihres Ordners
Der betreffende Ordner ist C: \ Whatever
Sie sollten nun in der Lage sein, die Website zu durchsuchen
quelle
Top Antwort von Jon Adams
Hier erfahren Sie, wie Sie dies für die PowerShell-Benutzer implementieren
quelle
Um die Verwirrung zu vergrößern, funktioniert das Dialogfeld "Effektive Berechtigungen" (Windows Explorer) für diese Anmeldungen nicht. Ich habe eine Site "Umbo4" mit Pass-Through-Authentifizierung und habe mir die effektiven Berechtigungen des Benutzers im Site-Stammordner angesehen. Der Test "Namen überprüfen" löste den Namen "IIS AppPool \ Umbo4" auf, aber die effektiven Berechtigungen zeigen, dass der Benutzer überhaupt keine Berechtigungen für den Ordner hatte (alle Kontrollkästchen deaktiviert).
Ich habe diesen Benutzer dann explizit über die Registerkarte Explorer-Sicherheit aus dem Ordner ausgeschlossen. Dies führte dazu, dass die Site erwartungsgemäß mit einem HTTP 500.19-Fehler fehlschlug. Die effektiven Berechtigungen sahen jedoch genauso aus wie zuvor.
quelle
Ich habe alle meine asp.net-Probleme behoben, indem ich einfach einen neuen Benutzer namens IUSER mit einem Kennwort erstellt und ihm den Netzwerkdienst und die Benutzergruppen hinzugefügt habe. Erstellen Sie dann alle Ihre virtuellen Sites und Anwendungen. Stellen Sie die Authentifizierung mit dem Kennwort auf IUSER ein. Stellen Sie den Dateizugriff auf hoher Ebene so ein, dass er IUSER und BAM enthält. Es wurden mindestens 3-4 Probleme behoben, einschließlich dieses.
Dave
quelle