Inilah masalah dengan IIS 7.5 dan ASP.NET yang telah saya teliti dan tidak berhasil. Bantuan apa pun akan sangat dihargai.
Pertanyaan saya adalah: menggunakan ASP.NET di IIS 7.5, bagaimana IIS dan / atau sistem operasi memungkinkan aplikasi web untuk menulis ke folder seperti C:\dump
ketika berjalan di bawah kepercayaan penuh? Bagaimana saya tidak perlu menambahkan akses tulis secara eksplisit untuk pengguna kumpulan aplikasi (dalam hal ini ApplicationPoolIdentity
)?
Setahu saya ini:
- Di IIS 7.5, Identitas default untuk Kumpulan Aplikasi adalah
ApplicationPoolIdentity
. ApplicationPoolIdentity
mewakili akun pengguna Windows yang disebut "IIS APPPOOL \ AppPoolName", yang dibuat saat Application Pool dibuat, di mana AppPoolName adalah nama Pool Aplikasi.- Pengguna "IIS APPPOOL \ AppPoolName" secara default adalah anggota
IIS_IUSRS
grup. - Jika Anda berjalan di bawah Kendali Trust, aplikasi web Anda dapat menulis ke banyak bidang sistem file (tidak termasuk folder seperti
C:\Users
,C:\Windows
, dll). Misalnya, aplikasi Anda akan memiliki akses untuk menulis ke beberapa folder, sepertiC:\dump
,. - Secara default,
IIS_IUSRS
grup tidak diberikan akses baca atau tulisC:\dump
(setidaknya tidak akses yang terlihat melalui tab "Keamanan" di Windows Explorer). - Jika Anda menolak akses tulis
IIS_IUSRS
, Anda akan mendapatkan SecurityException ketika mencoba menulis ke folder (seperti yang diharapkan).
Jadi, dengan mempertimbangkan semua itu, bagaimana akses tulis diberikan kepada pengguna "IIS APPPOOL \ AppPoolName"? Proses w3wp.exe berjalan sebagai pengguna ini, jadi apa yang memungkinkan pengguna ini untuk menulis ke folder yang tampaknya tidak memiliki akses eksplisit?
Harap dicatat bahwa saya mengerti ini mungkin dilakukan demi kenyamanan, karena akan menyulitkan untuk memberikan akses kepada pengguna ke setiap folder yang perlu dituliskan jika Anda menjalankannya di bawah Kepercayaan Penuh. Jika Anda ingin membatasi akses ini, Anda selalu dapat menjalankan aplikasi di bawah Medium Trust. Saya tertarik untuk mencari tahu tentang cara sistem operasi dan / atau IIS memungkinkan penulisan ini terjadi, meskipun tampaknya tidak ada akses sistem file eksplisit yang diberikan.