我有一个在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)
我手动验证了所有这些帐户/群组都可以完全控制文件/文件夹的安全性标签。
应用程序池在Integrated Managed Pipeline上的.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设置会阻止写入权限?
答案 0 :(得分:0)
我找到了这个问题的答案,忘记了我的帖子。在此特定实例中,问题在于服务器上的Internet Explorer Enhanced Security Configuration
设置。要在Windows Server 2008 R2
中查看您的设置,请转到Server Manager
并在主页上显示您的视图。在那里,转到Security Settings
部分。在这里,您将看到一个名为IE Enhanced Security Configuration (ESC)
的项目,旁边是管理员和用户的当前设置。就我而言,对于管理员和用户,此新服务器上的默认设置都设置为On
。将这些设置为Off
允许网络服务帐户写入已被授予适当权限的所有位置,从而解决问题。