【发布时间】:2013-12-21 02:14:05
【问题描述】:
我有一个在 IIS 7.5 上运行的 Web 应用程序,但存在一些权限问题。该站点将读取/提供文件,但在任何情况下都不会写入任何文件位置。理想情况下,我会写入非本地共享,但我目前只是试图让应用程序写入本地共享/驱动器。我尝试将身份设置为专门为此应用程序设置的域服务帐户、内置网络服务帐户和 ApplicationPoolIdentity,但没有成功。值得一提的是,该服务器是一个虚拟化实例,运行在与其他服务器共享的硬件上。
为了尝试解决问题,我已授予以下权限:
(MACHINE NAME)
(MACHINE NAME)\Users
(MACHINE NAME)\IUSR
(MACHINE NAME)\IIS_IUSRS
(DOMAIN NAME)\(MACHINE NAME)
NT AUTHORITY\NETWORK SERVICE
NT AUTHORITY\SYSTEM
(APPLICATION POOL IDENTITY)
(DOMAIN NAME)\(SERVICE ACCOUNT NAME)
我已手动验证所有这些帐户/组都可以完全控制文件/文件夹的安全选项卡。
应用程序池在集成托管管道上的 .NET Framework v4.0 下运行。我已经尝试将 Load User Profile 设置为 true 和 false ,但没有运气。网站本身设置为应用程序直通身份验证。
浏览器中抛出的错误是:
Access to the path 'D:\Dataload\LOG.txt' is denied.
[UnauthorizedAccessException: Access to the path 'D:\Dataload\LOG.txt' is denied.]
我已经尝试写入已经创建和未创建的文件。我还尝试通过服务器路径而不是驱动器名称来调用文件。
在 Microsoft 的 Process Monitor 中查看事件:
Operation: CreateFile
Result: ACCESS DENIED
Desired Access: Generic Write, Read Attributes
Disposition: OpenIF
Options:Sequential Access, Synchronous IO Non-Alert, Non-Directory File, Open No Recall
Attributes:n/a
ShareMode: Read
User:NT AUTHORITY\NETWORK SERVICE (this will correctly change depending on the identity I set)
我是否缺少组或帐户的某些内容,或者我可能忽略了阻止写入访问的 IIS 设置?
【问题讨论】: