IIS 7.5 ve ASP.NET ile ilgili araştırma yaptığım ve hiçbir yere ulaşmadığım bir sorun var. Herhangi bir yardım büyük mutluluk duyacağız.
Benim sorum: IIS 7.5'te ASP.NET kullanarak, IIS ve / veya işletim sistemi, web uygulamasının C:\dump
tam güven altında çalışırken nasıl bir klasöre yazmasına izin verir ? Uygulama havuzu kullanıcısı için (bu durumda ApplicationPoolIdentity
) açıkça yazma erişimi eklemem gerekmez mi?
Bu kadarını biliyorum:
- IIS 7.5'te, Uygulama Havuzu için varsayılan Kimlik'tir
ApplicationPoolIdentity
. ApplicationPoolIdentity
Uygulama Havuzu oluşturulduğunda oluşturulan "AppPoolName" uygulama havuzunun adıdır "IIS APPPOOL \ AppPoolName" adlı bir Windows kullanıcı hesabını temsil eder.- "IIS APPPOOL \ AppPoolName" kullanıcısı varsayılan olarak
IIS_IUSRS
grubun bir üyesidir . - Tam güven altında çalıştırıyorsanız, web uygulama dosya sisteminde birçok alanda (hariç klasörler gibi yazabilir
C:\Users
,C:\Windows
vb). Örneğin, uygulamanız, gibi bazı klasörlere yazma erişimine sahip olacaktırC:\dump
. - Varsayılan olarak,
IIS_IUSRS
gruba okuma veya yazma erişimi verilmezC:\dump
(en azından Windows Gezgini'ndeki "Güvenlik" sekmesinden görülebilen erişim). - Yazma erişimini reddederseniz
IIS_IUSRS
, klasöre yazmaya çalışırken (beklendiği gibi) bir SecurityException elde edersiniz.
Peki, tüm bunları göz önünde bulundurarak, "IIS APPPOOL \ AppPoolName" kullanıcısına yazma erişimi nasıl verilir? W3wp.exe işlemi bu kullanıcı olarak çalışır, bu nedenle bu kullanıcının açık erişimi olmayan bir klasöre yazmasına izin veren nedir?
Tam Güven altında çalışıyorsanız, kullanıcıya yazması gereken her klasöre erişim izni vermek acı verici olacağından, bunun kolaylık sağlamak için yapıldığını anladığımı lütfen unutmayın. Bu erişimi sınırlamak istiyorsanız, uygulamayı her zaman Orta Güven altında çalıştırabilirsiniz. İşletim sistemi ve / veya IIS'nin, açık dosya sistemi erişimi verilmemiş gibi görünse de, bu yazma işlemlerinin gerçekleşmesine nasıl izin verdiğini öğrenmekle ilgileniyorum.