Đây là một vấn đề với IIS 7.5 và ASP.NET mà tôi đã nghiên cứu và không tìm thấy. Mọi sự trợ giúp sẽ rất được trân trọng.
Câu hỏi của tôi là: sử dụng ASP.NET trong IIS 7.5, làm thế nào IIS và / hoặc hệ điều hành cho phép ứng dụng web ghi vào một thư mục như C:\dump
khi chạy dưới sự tin tưởng hoàn toàn? Làm thế nào mà tôi không phải thêm quyền truy cập ghi cho người dùng nhóm ứng dụng (trong trường hợp này ApplicationPoolIdentity
)?
Điều này nhiều tôi biết:
- Trong IIS 7.5, Danh tính mặc định cho Nhóm ứng dụng là
ApplicationPoolIdentity
. ApplicationPoolIdentity
đại diện cho tài khoản người dùng Windows có tên "IIS APPPOOL \ AppPoolName", được tạo khi Nhóm ứng dụng được tạo, trong đó AppPoolName là tên của Nhóm ứng dụng.- Người dùng "IIS APPPOOL \ AppPoolName" theo mặc định là thành viên của
IIS_IUSRS
nhóm. - Nếu bạn đang chạy theo Full Trust, ứng dụng web của bạn có thể viết thư cho nhiều lĩnh vực của hệ thống tập tin (không bao gồm các thư mục thích
C:\Users
,C:\Windows
, vv). Ví dụ, ứng dụng của bạn sẽ có quyền truy cập để ghi vào một số thư mục, như ,C:\dump
. - Theo mặc định,
IIS_IUSRS
nhóm không được cấp quyền truy cập đọc hoặc ghiC:\dump
(ít nhất là không truy cập được hiển thị thông qua tab "Bảo mật" trong Windows Explorer). - Nếu bạn từ chối quyền truy cập ghi vào
IIS_IUSRS
, bạn sẽ nhận được SecurityException khi cố gắng ghi vào thư mục (như mong đợi).
Vì vậy, tính tất cả những điều đó vào tài khoản, quyền truy cập ghi được cấp cho người dùng "IIS APPPOOL \ AppPoolName" như thế nào? Quá trình w3wp.exe chạy như người dùng này, vậy điều gì cho phép người dùng này ghi vào thư mục mà nó dường như không có quyền truy cập rõ ràng?
Xin lưu ý rằng tôi hiểu điều này có thể được thực hiện vì mục đích thuận tiện, vì sẽ rất khó để cấp cho người dùng quyền truy cập vào mọi thư mục cần ghi nếu bạn đang chạy trong Full Trust. Nếu bạn muốn giới hạn quyền truy cập này, bạn luôn có thể chạy ứng dụng trong Medium Trust. Tôi quan tâm đến việc tìm hiểu về cách hệ điều hành và / hoặc IIS cho phép các ghi này diễn ra, mặc dù dường như không có quyền truy cập hệ thống tệp rõ ràng nào được cấp.