Niedawno zaktualizowaliśmy do IIS7 jako podstawowy serwer sieciowy i potrzebuję przeglądu w zakresie uprawnień. Poprzednio, gdy potrzebowałem pisać do systemu plików, dawałem użytkownikowi AppPool (usługa sieciowa) dostęp do katalogu lub pliku.
W IIS7 domyślnie widzę, że użytkownik AppPool jest ustawiony na ApplicationPoolIdentity
. Kiedy więc sprawdzam menedżera zadań, widzę, że konto użytkownika o nazwie „WebSite.com” uruchamia proces IIS („Website.com” to nazwa strony internetowej w IIS)
Jednak to konto użytkownika nie istnieje, jeśli spróbuję go użyć do nadania uprawnień. Jak więc ustalić, który użytkownik udzielić uprawnień?
Edycja ================================================= =============================
Zobacz poniżej problem ze zrzutem ekranu. Nasza strona internetowa (www.silverchip.co.uk) działa pod nazwą użytkownika SilverChip.co.uk. Jednak gdy dodam pemisje, ten użytkownik nie istnieje!
================================= Zobacz obraz AppPool
źródło
Odpowiedzi:
ApplicationPoolIdentity jest właściwie najlepszą praktyką do użycia w IIS7 +. Jest to dynamicznie tworzone, nieuprzywilejowane konto. Aby dodać zabezpieczenia systemu plików dla konkretnej puli aplikacji, zobacz „Tożsamości puli aplikacji” IIS.net . Szybka wersja:
Jeśli pula aplikacji ma nazwę „DefaultAppPool” (po prostu zastąp ten tekst poniżej, jeśli ma inną nazwę)
źródło
IIS AppPool\silverchip.co.uk
. Nie próbowałem jednak kropek w nazwach zabezpieczających - możesz zmienić to na coś bez interpunkcji.enable load user profile
natrue
w ustawieniach puli aplikacji. I dopiero po tym ustawieniu mogłem uruchomić aplikację. Zaktualizuj więc instrukcje i dodaj 9. punkt.Pamiętaj, aby podczas rozwiązywania nazwy używać nazwy lokalnej serwera, a nie nazwy domeny
(tylko przypomnienie, bo to mnie trochę potknęło):
źródło
Dając dostęp do IIS AppPool \ YourAppPoolName użytkownik może nie tyle z domyślnych konfiguracji IIS.
W moim przypadku nadal miałem błąd HTTP Error 401.3 - Nieautoryzowany po dodaniu użytkownika AppPool i został naprawiony dopiero po dodaniu uprawnień do użytkownika IUSR .
Jest to konieczne, ponieważ domyślnie dostęp anonimowy odbywa się za pomocą IUSR . Możesz ustawić innego konkretnego użytkownika, pulę aplikacji lub kontynuować używanie IUSR, ale nie zapomnij ustawić odpowiednich uprawnień.
Podziękowania dla tej odpowiedzi: Błąd HTTP 401,3 - Nieautoryzowane
źródło
W systemie Windows Server 2008 (r2) nie można przypisać tożsamości puli aplikacji do folderu za pomocą Właściwości-> Bezpieczeństwo. Możesz to zrobić za pomocą wiersza polecenia administratora, korzystając z następujących czynności:
źródło
Część A: Konfigurowanie puli aplikacji
Załóżmy, że pula aplikacji nosi nazwę „MyPool”. Przejdź do „Ustawień zaawansowanych” puli aplikacji w Menedżerze IIS
Przewiń w dół do „Tożsamości”. Próba edycji wartości spowoduje wyświetlenie okna dialogowego. Wybierz „Wbudowane konto”, a pod nim wybierz „ApplicationPoolIdentity”.
Kilka wierszy poniżej „Tożsamości” powinieneś znaleźć „Załaduj profil użytkownika”. Ta wartość powinna być ustawiona na „True”.
Część B: Konfigurowanie witryny
Część C: Konfigurowanie folderu
Folder, o którym mowa, to C: \ Cokolwiek
Powinieneś teraz móc korzystać z przeglądania strony
źródło
Najlepsza odpowiedź od Jona Adamsa
Oto jak zaimplementować to dla ludzi PowerShell
źródło
Aby dodać zamieszanie, okno dialogowe Efektywne uprawnienia (Eksplorator Windows) nie działa dla tych loginów. Mam witrynę „Umbo4” korzystającą z uwierzytelniania przekazywanego i sprawdziłem efektywne uprawnienia użytkownika w folderze głównym witryny. Test sprawdzania nazw rozwiązał nazwę „IIS AppPool \ Umbo4”, ale Efektywne uprawnienia pokazują, że użytkownik nie miał żadnych uprawnień do folderu (wszystkie pola wyboru są odznaczone).
Następnie wyraźnie wykluczyłem tego użytkownika z folderu, korzystając z karty Security Explorer. Spowodowało to awarię witryny z błędem HTTP 500.19, zgodnie z oczekiwaniami. Efektywne uprawnienia wyglądały jednak dokładnie tak jak poprzednio.
źródło
Naprawiłem wszystkie moje problemy z asp.net, po prostu tworząc nowego użytkownika o nazwie IUSER z hasłem i dodając go do usługi sieciowej i grup użytkowników. Następnie utwórz wszystkie wirtualne witryny i aplikacje. Ustaw uwierzytelnianie na IUSER za pomocą hasła. Ustaw dostęp do plików na wysokim poziomie, aby uwzględnić IUSER i BAM. Naprawiono co najmniej 3-4 problemy, w tym ten ..
Dave
źródło