Bir klasöre IIS_IUSRS RW erişimini eklediğimde, ISUR RW erişimine otomatik olarak izin vermiyor?


11

IIS7 (Windows Server 2008 x64) kullanıyorum ve anonim kimlik doğrulaması kullanarak bir web sitesi ayarım var. Anon kullanıcı kimliği IUSR olarak yapılandırılmıştır. Uygulama dosyaları bir klasöre yazıyor ve klasöre IIS_IUSRS grubu RW izinlerini veriyorum. Bu işe yaramıyor. Uygulamanın klasöre yazmasına izin vermek için açıkça IUSR RW izinleri vermeliyim.

Uygulama havuzu kimliğinin IIS_IUSRS grubuna otomatik olarak eklendiğini düşünüyorum. IUSR'nin (veya herhangi bir anonim kullanıcı kimliğinin) de IIS_IUSRS grubunun da ima edilen bir üyesi olduğunu varsaydım. Durum böyle görünmüyor.

Sorun giderme sırasında, Klasöre erişimi görüntülemek için İşlem İzleyicisi'ni kullandım ve Ağ Hizmeti'nin (uygulama havuzu kimliği) IUSR'yi taklit ettiğini belirledim (beklediğim budur) ancak IIS_IUSRS grubuna RW izinleri vermek, IUSR'nin dosya erişimi engellendi).

Herkes IUSR'nin IIS_IUSRS grubunun üyesi olup olmadığını açıklayabilir mi?

Aşağıdaki dokümanları inceledim ve sağlam bir cevap bulamadım:

IIS 7'de Yerleşik Kullanıcı ve Grup Hesaplarını Anlama

Uygulama Havuzu Kimlikleri

Yanıtlar:


14

Çü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)


Net (3.5 hedefli) kullanarak tanımlamaktayız ama kimliğe bürünme kullanıyor olabilir. Emin olmak için geliştiricilerime danışmam gerekecek. Karışıklığım, anonim kullanıcı kimliğinin otomatik olarak IIS_IUSRS grubunun bir üyesi olduğunu varsaydığım (yanlış görünüyor) gerçeğinden kaynaklanıyor. O zaman açıklığa kavuşturmama izin vermediğinden ve eğer takılırsam lütfen düzeltmeme izin ver.

1) Klasik ASP kullanarak dosya erişim izinleri anonim kullanıcı kimliğini kullanır. IIS 7 veya sonraki sürümlerinde, bu kullanıcı varsayılan olarak IIS_IUSRS grubunun bir üyesi değildir. 2) ASP.Net kullanarak, kimliğe bürünme etkinse dosya erişim izinleri anonim kullanıcı kimliğini kullanır. IIS 7 veya sonraki sürümlerinde, bu kullanıcı varsayılan olarak IIS_IUSRS grubunun bir üyesi değildir. 3) ASP.Net kullanarak, kimliğe bürünme devre dışı bırakılmışsa dosya erişim izinleri çalışan işlem kimliğini kullanır. IIS 7 veya sonraki sürümlerde, bu kullanıcı varsayılan olarak her zaman IIS_IUSRS grubunun bir üyesidir.

Evet, tüm noktalarda kesinlikle doğru! Mükemmel bir şekilde açıklamak için, # 1 ve # 2'de, zaten anon kullandığınızı söylemiş olduğunuz için daha önce eklemem gerekmediği için "IIS anon kimlik doğrulaması etkinse" eklemeniz gerekir. Bunu daha iyi açıklamak için eklediğim tabloya bakın.
Amit Naidu

Bunu açıkladığınız için çok teşekkür ederim. Deneme ve yanılma yoluyla bulduğum şeyi kabul ediyor, ancak bunun herhangi bir yerde çok net bir şekilde belgelendiğini görmedim.Yazma izni gerektiren IIS uygulamaları kurarken sunucularında LUA kullanan yöneticiler için kritik öneme sahiptir.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.