I've hanya pindah dari IIS6 di Win2003 untuk IIS8 pada Win2012 untuk hosting ASP.NET aplikasi.
Dalam satu folder tertentu di aplikasi saya, saya perlu untuk Membuat & Menghapus file. Setelah menyalin file ke server baru, aku terus melihat kesalahan berikut ketika saya mencoba untuk menghapus file:
Akses ke jalan 'D:\WebSites\myapp.co.uk\companydata\filename.pdf' ditolak.
Ketika saya check IIS saya melihat bahwa aplikasi ini berjalan di bawah DefaultAppPool akun, namun, saya tidak pernah mengatur Windows permissions pada folder ini untuk memasukkan IIS AppPool\DefaultAppPool
Sebaliknya, untuk berhenti berteriak pelanggan saya diberikan izin berikut pada folder:
IUSR
IIS_IUSRS
Hal ini tampaknya telah bekerja, tapi saya prihatin bahwa terlalu banyak hak istimewa yang telah ditetapkan. I'telah membaca informasi yang saling bertentangan online tentang apakah IUSR adalah benar-benar diperlukan pada semua di sini. Adakah yang bisa menjelaskan mana pengguna/permissions akan cukup untuk Membuat dan Menghapus dokumen di folder ini silahkan? Juga, adalah IUSR bagian dari grup IIS_IUSRS?
Silakan lihat jawaban saya di bawah ini]1. I've harus melakukan ini dengan sedih beberapa saran yang tidak dipikirkan dengan baik, atau bahkan yang aman (IMO).
Aku benci untuk posting saya sendiri menjawab, tapi beberapa jawaban baru-baru ini telah mengabaikan solusi yang saya diposting di pertanyaan saya sendiri, menunjukkan pendekatan yang tidak pendek bodoh.
Singkatnya - anda tidak perlu untuk mengedit akun pengguna Windows hak sama sekali. Melakukan sehingga hanya memperkenalkan risiko. Proses ini sepenuhnya dikelola dalam IIS menggunakan mewarisi hak-hak istimewa.
Di bawah Keamanan tab, anda akan melihat MACHINE_NAME\IIS_IUSRS
terdaftar. Ini berarti bahwa IIS secara otomatis memiliki izin baca-saja pada direktori (misalnya untuk menjalankan ASP.Net di situs). Anda tidak perlu untuk mengedit entri ini.
Klik Edit tombol, maka Tambahkan...
Dalam kotak teks, ketik IIS AppPool\MyApplicationPoolName
, menggantikan MyApplicationPoolName
dengan nama domain anda, misal IIS AppPool\mydomain.com
Tekan OK untuk menambahkan user
Dengan pengguna baru (domain) yang dipilih, sekarang anda dapat dengan aman memberikan Memodifikasi atau Menulis permissions
IUSR adalah bagian dari IIS_IUSER kelompok.jadi saya kira anda dapat menghapus izin untuk IUSR tanpa khawatir. Lanjut Baca
Namun, masalah yang muncul dari waktu ke waktu karena semakin banyak layanan sistem Windows mulai dijalankan sebagai NETWORKSERVICE. Hal ini karena layanan yang berjalan sebagai NETWORKSERVICE bisa mengutak-atik layanan lain yang berjalan di bawah identitas yang sama. Karena pekerja IIS proses menjalankan kode pihak ketiga secara default (ASP Klasik, ASP.NET, kode PHP), itu adalah waktu untuk mengisolasi pekerja IIS proses-proses lain dari sistem Windows dan IIS proses pekerja di bawah identitas yang unik. Sistem operasi Windows menyediakan fitur yang disebut "Virtual Account" yang memungkinkan IIS untuk membuat identitas yang unik untuk masing-masing Aplikasi Outdoor. DefaultAppPool adalah secara default renang yang ditugaskan untuk semua kolam Renang Aplikasi yang anda buat.
Untuk membuatnya lebih aman anda dapat mengubah IIS DefaultAppPool Identitas untuk ApplicationPoolIdentity.
Mengenai izin, Membuat dan Menghapus merangkum semua hak-hak yang dapat diberikan. Jadi apa pun yang anda telah ditugaskan untuk IIS_USERS kelompok bahwa mereka akan membutuhkan. Tidak lebih, tidak kurang.
semoga ini bisa membantu.
Ketika saya menambahkan IIS_IUSRS izin untuk folder situs - sumber daya, seperti js dan css, masih tidak akan dapat diakses (error 401, dilarang). Namun, ketika saya menambahkan IUSR - menjadi ok. Jadi pasti "anda TIDAK dapat menghapus izin untuk IUSR tanpa khawatir", dear @Travis G@
@EvilDr Anda dapat membuat IUSR[identifikasi] akun dalam IKLAN anda lingkungan dan biarkan aplikasi tertentu renang berjalan di bawah yang IUSR[identifikasi] akun:
"Aplikasi outdoor" > "Pengaturan Lanjutan" > "Identitas" > "Custom akun"
Mengatur website anda "Applicaton pengguna (pass-melalui otentikasi)" dan "user", dalam Pengaturan Lanjutan.
Sekarang memberikan yang IUSR_[identifikasi] sesuai NTFS permissions pada file dan folder, misalnya: memodifikasi pada companydata.
IIS_IUSRS kelompok memiliki keunggulan hanya jika anda menggunakan ApplicationPool Identitas. Meskipun anda memiliki grup ini terlihat kosong saat menjalankan IIS menambahkan ke grup ini untuk menjalankan proses pekerja menurut microsoft sastra.
Saya akan menggunakan pengguna tertentu (dan BUKAN pengguna Aplikasi). Kemudian saya akan memungkinkan peniruan dalam aplikasi. Setelah anda melakukan itu dengan account ditetapkan sebagai pengguna tertentu, kredensial tersebut akan digunakan untuk mengakses sumber daya lokal di server (Bukan untuk sumber daya eksternal).
Pengguna tertentu pengaturan khusus dimaksudkan untuk mengakses sumber daya lokal.