Przegląd uprawnień IIS7 - ApplicationPoolIdentity

Niedawno zaktualizowaliśmy IIS7 jako podstawowy serwer WWW i potrzebuję przeglądu pod względem uprawnień. Wcześniej, gdy potrzebowałbym zapisu do systemu plików, dałbym użytkownikowi aplikacji (usłudze sieciowej) dostęp do katalogu lub pliku.

W IIS7 widzę, że domyślnie użytkownik Appool jest ustawiony na ApplicationPoolIdentity. Więc kiedy sprawdzam Menedżera zadań, widzę, że konto użytkownika o nazwie "WebSite.com" uruchamia proces IIS ("Website.com" nazwa strony internetowej w IIS)

Jednak to konto użytkownika nie istnieje, jeśli próbuję użyć tego do nadania uprawnień. Jak więc określić, któremu użytkownikowi nadać uprawnienia?

Edytuj ==============================================================================

Zobacz poniżej problem w zrzut ekranu. Nasza strona (www.silverchip.co.uk) działa na nazwę użytkownika SilverChip.co.uk. jednak gdy dodam pemissions, ten użytkownik nie exist!

Tutaj wpisz opis obrazka

=================================Zobacz Obrazek AppPool

Tutaj wpisz opis obrazka

Author: Kevin, 2011-09-07

8 answers

ApplicationPoolIdentity jest właściwie najlepszą praktyką do wykorzystania w IIS7. Jest to dynamicznie tworzone, nieuprzywilejowane konto. Aby dodać zabezpieczenia systemu plików dla określonej puli aplikacji, Zobacz IIS.net ' s "Application Pool Identities" . Wersja szybka:

Jeśli pula aplikacji ma nazwę " DefaultAppPool "(wystarczy zastąpić ten tekst poniżej, jeśli ma inną nazwę)

  1. Open Windows Explorer
  2. Wybierz plik lub katalog.
  3. Kliknij prawym przyciskiem myszy plik i wybierz "Właściwości"
  4. wybierz zakładkę "Bezpieczeństwo"
  5. Kliknij przycisk "Edytuj", a następnie "dodaj"
  6. Kliknij przycisk "Lokalizacje" i upewnij się, że wybrałeś maszynę local. (nie domeny Windows, jeśli serwer do niej należy.)
  7. wprowadź "IIS AppPool\DefaultAppPool "w polu tekstowym" wprowadź nazwy obiektów do wyboru:". (Nie zapomnij zmienić "DefaultAppPool" tutaj na cokolwiek nazwałeś swoją pulę aplikacji.)
  8. Kliknij " Sprawdź Nazwy "przycisk i kliknij "OK".
 562
Author: Jon Adams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-19 20:18:34

Pamiętaj, aby użyć lokalnej nazwy serwera, a nie nazwy domeny, przy rozwiązywaniu nazwy " IIS AppPool \ DefaultAppPool "(tylko przypomnienie, Ponieważ to trochę mnie potknęło):Tutaj wpisz opis obrazka

 57
Author: James Toomey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-19 19:27:30

W systemie Windows Server 2008 (r2) nie można przypisać tożsamości puli aplikacji do folderu za pomocą Właściwości->Zabezpieczenia. Możesz to zrobić za pomocą wiersza poleceń administratora, używając jednak następującego polecenia:

icacls "c:\yourdirectory" /t /grant "IIS AppPool\DefaultAppPool":(R)
 22
Author: Chris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-30 12:57:00

Podanie dostępu do IIS AppPool\YourAppPoolNameuser może nie wystarczyć przy domyślnych konfiguracjach IIS.

W moim przypadku nadal miałem błąd Błąd HTTP 401.3-Unauthorized 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ć korzystanie z IUSR, ale nie zapomnij ustawić odpowiednich uprawnień.

karta uwierzytelniania

Podziękowania dla tej odpowiedzi: Błąd HTTP 401.3-Nieautoryzowano

 18
Author: Zanon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:33:26

Najlepsza odpowiedź od Jona Adamsa

Oto jak zaimplementować to dla ludzi z PowerShell
$IncommingPath = "F:\WebContent"
$Acl = Get-Acl $IncommingPath
$Ar = New-Object  system.security.accesscontrol.filesystemaccessrule("IIS AppPool\DefaultAppPool","FullControl","ContainerInherit, ObjectInherit", "None", "Allow")
$Acl.SetAccessRule($Ar)
Set-Acl $IncommingPath $Acl
 2
Author: Chris Mills,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-27 18:40:33

Aby dodać do zamieszania, okno dialogowe (Eksplorator Windows) skuteczne uprawnienia nie działa dla tych loginów. Mam witrynę "Umbo4" za pomocą uwierzytelniania przelotowego i spojrzałem na skuteczne 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ń w folderze (wszystkie pola wyboru są niezaznaczone).

Następnie wykluczyłem tego użytkownika z folderu jawnie, używając zakładka bezpieczeństwo Eksploratora. 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.

 1
Author: StuartN,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-06 14:57:51

I fixed all my asp.net problemy po prostu tworząc nowego Użytkownika o nazwie IUSER z hasłem i dodał go usługi sieciowe i grupy użytkowników. Następnie utwórz wszystkie swoje wirtualne witryny i aplikacje Ustaw uwierzytelnianie na IUSER z jego hasłem.. Ustaw dostęp do plików wysokiego poziomu, aby zawierał IUSER i bam, Naprawiono co najmniej 3-4 problemy, w tym ten..

Dave

 1
Author: David Granic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-12 23:23:30

Część A: Konfiguracja puli aplikacji

Załóżmy, że pula aplikacji ma nazwę 'MyPool' Przejdź do "Ustawienia zaawansowane" puli aplikacji z Menedżera usług IIS

  1. Przewiń w dół do pozycji "tożsamość". Próba edycji wartości spowoduje wyświetlenie okna dialogowego. Wybierz "wbudowane konto", a pod nim wybierz "ApplicationPoolIdentity".

  2. Kilka linijek poniżej 'Identity', powinieneś znaleźć 'Load User Profile'. Wartość ta powinna być ustawiona na "Prawda".

Część B: Konfiguracja strony internetowej

  1. nazwa strony: SiteName (tylko przykład)
  2. ścieżka fizyczna: C:\Whatever (tylko przykład)
  3. Połącz jako... : Application User (pass-through authentication) (Powyższe ustawienia można znaleźć w "ustawieniach podstawowych" witryny w Menedżerze usług IIS)
  4. Po skonfigurowaniu podstawowych ustawień poszukaj konfiguracji "uwierzytelniania" w sekcji " IIS " w głównej konsoli witryny. Otwórz. Ty powinna pojawić się opcja "uwierzytelniania anonimowego". Upewnij się, że jest włączona. Następnie kliknij prawym przyciskiem myszy i 'edytuj... to. Wybierz "Tożsamość Puli Aplikacji".

Część C: Konfiguracja folderu

Omawiany folder jest C:\Whatever

  1. przejdź do Właściwości-udostępnianie-zaawansowane udostępnianie-uprawnienia i zaznacz "Udostępnij ten folder"
  2. w tym samym oknie dialogowym znajdziesz przycisk "uprawnienia". / Align = "left" /
  3. otworzy się nowe okno dialogowe. Klik "Add"
  4. otworzy się nowe okno dialogowe "Wybierz użytkowników lub grupy". W sekcji "z tej lokalizacji" upewnij się, że nazwa jest taka sama jak nazwa lokalnego komputera-hosta. Następnie w obszarze "Wprowadź nazwy obiektów "wpisz" IIS AppPool\MyPool "i kliknij " Sprawdź nazwy", a następnie " Ok "
  5. Nadaje pełne uprawnienia do udostępniania użytkownikowi 'MyPool'. Zastosuj go i zamknij właściwości folderu
  6. otwórz Właściwości folderu ponownie. Tym razem przejdź do Security - Advanced-Permission i kliknij Dodaj. Będzie opcja "Wybierz zleceniodawcę" na górze lub inną opcję wyboru użytkownika. / Align = "left" /
  7. okno dialogowe "Wybierz użytkowników lub grupy" otworzy się ponownie. Powtórz Krok 4.
  8. daj użytkownikowi 'MyPool' wszystkie lub tyle uprawnień, których potrzebujesz.
  9. zaznacz 'Zamień wszystkie uprawnienia obiektów potomnych..."i zastosować i zamknąć.

Powinieneś teraz móc korzystać z przeglądania strony

 1
Author: Dibyodyuti Mondal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-11 07:59:31