Çünkü bunlar iki farklı şey. IIS_IUSRS, IIS Çalışan İşlem Hesapları grubudur . Bu, uygulama havuzunun altında çalıştığı kimlik anlamına gelir. IUSR anonim kullanıcı kimliğidir. Bu, IIS'nin siteye erişen kullanıcı olduğuna inandığı kimlik anlamına gelir.
Şimdi söylemediyseniz bile, tahmin edeyim - bu uygulama klasik asp mi? (Aksi takdirde .Net ise kimliğe bürünme kullanıyor olmalısınız). Her iki durumda da, kaynaklara kimliğe bürünmüş kimlik, yani kasanızdaki anonim kullanıcı, yani IUSR olarak erişilir. Bu yüzden ona haklar vermelisin. Net, kimliğe bürünme özelliğini kapatırsanız, IIS_IUSRS'in beklediğiniz gibi devreye gireceğini göreceksiniz. Klasik ASP'de (ve statik dosyalar için) başka seçeneğiniz yoktur, kimliğe bürünme her zaman "etkindir"; bu yüzden her zaman kullanılan kullanıcı kimliği, havuz kimliği değil. IIS_IUSRS havuz kimlikleri için olduğundan, oyunda değil.
OP daha fazla bilgi ekledikten sonra düzenle:
İsimleri nedeniyle IUSR ve IIS_IUSRS'i karıştırmak kolaydır. Farklı olduklarını görmenin yolu, IIS_IUSRS'in Çalışan İşlem Grubu olan IIS6'da IIS_WPG'nin yerini aldığını hatırlamaktır. Bu gruplara, anon kimlikleri yerine havuzlarınızı çalıştırmak istediğiniz hesapları eklersiniz, anon ayrıcalıklarının daha sınırlı olması gerekir. Örneğin. bazen kerberos'un diğer ağ kaynaklarına yetkilendirilmesi için havuzu çalıştırmak üzere bir etki alanı hesabı kullanmak isteyebilirsiniz. Ardından bu hizmet hesabını bu gruba eklersiniz.
Kimliğe bürünme etkinleştirildiğinde havuz / işlem söylendiği için kullanıcı gibi davranır. Anon auth durumunda (sizin durumunuz), bu kullanıcı IUSR'dir. Windows kimlik doğrulaması durumunda, kullanıcının windows \ domain kimliği olur. Bu nedenle, kimliğe bürünme ile performans isabeti almanızın nedeni de budur, çünkü işlem kaynak erişimi için farklı bir kimliğe geçmelidir.
.NET ve anonim kimlik doğrulaması kullanıyorsanız, neden kimliğe bürünmeyi etkinleştirdiğinizi anlamıyorum. Kullanmamanız ya da kimliğe bürünme gerektirmemesi durumunda, IIS7 durumunda biraz daha hile yapmanız gerekir: IUSR'nizi tamamen ortadan kaldırabilir ve tüm karışıklığı sona erdirebilirsiniz. Bence bunu istiyorsun, ve bu benim de tercih ettiğim yöntem. Tek yapmanız gereken , havuz kimliğini anonim kimlik olarak yeniden kullanmasını söylemektir .
Bundan sonra sadece IIS_IUSRS grubu ile uğraşmanız gerekecek. Ama kafa karıştırmayın, bu hala bu ikisinin aynı olduğu anlamına gelmez! Süreç kimliğinin IUSR yerine geçmesi mümkün olabilir, ancak bunun tersi mümkün değildir!
Dikkat edilmesi gereken bazı IIS7 hileleri: IIS_IUSRS'ye bakarsanız, boş olabilir. Bu, havuz başladığında sanal havuz kimliklerinizin otomatik olarak eklenmesi nedeniyle, bu şeyler hakkında endişelenmenize gerek yoktur.
Bu tablo, iş parçacığı yürütme kimliğinin nasıl belirlendiğini daha iyi netleştirmeye yardımcı olmalıdır:
Kimliğe Bürünülen Anonim Erişim Kaynakları
Etkin IIS5 / 6'da Etkin IUSR_bilgisi veya,
IIS7'de IUSR veya
Anon kullanıcı hesabını değiştirdiyseniz
IIS'de, ne ayarlarsanız yapın
Etkin Devre Dışı MYDOM \ MyName
Devre Dışı Etkin NT Yetkilisi \ Ağ Hizmeti (havuz kimliği)
Devre Dışı Devre Dışı NT Yetkilisi \ Ağ Hizmeti (havuz kimliği)