Jest tak, ponieważ są to dwie różne rzeczy. IIS_IUSRS to grupa kont procesów roboczych IIS . Oznacza to tożsamość, pod którą działa sama pula aplikacji. IUSR to anonimowa tożsamość użytkownika. Oznacza to tożsamość, którą IIS uważa za użytkownika uzyskującego dostęp do witryny.
Teraz, chociaż tego nie powiedziałeś, niech zgadnę - ta aplikacja jest klasycznym boleniem? (W przeciwnym razie, jeśli jest to .Net, musisz używać personifikacji). Tak czy inaczej, dostęp do zasobów uzyskuje się jako personifikacja tożsamości, czyli anonimowy użytkownik w twoim przypadku, czyli IUSR. Dlatego musisz mu to przyznać. Jeśli w .Net wyłączysz personifikację, przekonasz się, że IIS_IUSRS wejdzie do gry zgodnie z oczekiwaniami. W klasycznej ASP (i dla plików statycznych) nie masz wyboru, personifikacja jest zawsze „włączona”; więc zawsze używana jest tożsamość użytkownika, a nie tożsamość puli. Ponieważ zatem IIS_IUSRS dotyczy tożsamości puli, nie ma go w grze.
Edytuj po dodaniu przez OP dodatkowych informacji:
Łatwo jest pomylić IUSR i IIS_IUSRS ze względu na ich nazwy. Aby zobaczyć, że się różnią, należy pamiętać, że IIS_IUSRS zastępuje IIS_WPG w IIS6, którym była Worker Process Group. Do tych grup dodajesz konta, na których chcesz uruchamiać swoje pule, a nie tożsamości, anon przywileje powinny być bardziej ograniczone. na przykład. czasami możesz chcieć użyć konta domeny do uruchomienia puli dla delegacji Kerberos do innych zasobów sieciowych. Następnie dodasz to konto usługi do tej grupy.
Gdy personifikacja jest włączona, pula / proces udaje użytkownika, ponieważ tak mu kazano. W przypadku anon auth (twój przypadek) tym użytkownikiem jest IUSR. W przypadku uwierzytelniania systemu Windows byłaby to tożsamość użytkownika Windows \ domain. Z tego powodu podskakuje wydajność podszywania się, ponieważ proces musi przełączyć się na inną tożsamość w celu uzyskania dostępu do zasobów.
Jeśli korzystasz z .NET i anonimowego uwierzytelniania, nie rozumiem, dlaczego włączysz personifikację. W przypadku, gdy nie używasz personifikacji lub nie potrzebujesz jej podszywania się, powinieneś być świadomy pewnych sztuczek w przypadku IIS7: możesz sprawić, że IUSR zniknie całkowicie i skończysz wszystkie zamieszanie. Myślę, że ci się spodoba, i to też jest moja preferowana metoda. Wszystko, co musisz zrobić, to powiedzieć mu, aby używał tożsamości puli jako tożsamości anonimowej .
Po tym będziesz miał do czynienia tylko z grupą IIS_IUSRS. Ale nie daj się zwieść, to wciąż nie oznacza, że te dwa są takie same! Możliwe, że tożsamość procesu zastąpi IUSR, ale nie na odwrót!
Więcej sztuczek IIS7, o których należy pamiętać: jeśli spojrzysz na IIS_IUSRS, może być pusty. Dzieje się tak, ponieważ Twoje tożsamości puli wirtualnej są automatycznie dodawane do niej podczas uruchamiania puli, więc nie musisz się o to martwić.
Ta tabela powinna pomóc lepiej wyjaśnić, w jaki sposób określa się tożsamość wykonania wątku:
Personifikacja Anonimowy dostęp do zasobów Dostęp jako
Enabled Enabled IUSR_computer w IIS5 / 6 lub,
IUSR w IIS7 lub
Jeśli zmieniłeś konto użytkownika anon
w IIS, cokolwiek tam ustawisz
Włączone Wyłączone MYDOM \ MyName
Wyłączone Włączone NT Urząd \ Usługa sieciowa (tożsamość puli)
Wyłączone Wyłączone NT NT \ Usługa sieciowa (tożsamość puli)