IIS 8.5在Windows Server 2012 R2下的运行身份及权限问题咨询
解决IIS 8.5中找不到IUSR_MACHINENAME及路径访问被拒绝的问题
找不到IUSR_MACHINENAME的解决方法
- 添加文件夹权限时,在「选择用户或组」窗口点击高级→立即查找,系统会列出本地所有用户,找到以IUSR开头的对应账户
- 如果上述方法没找到,直接手动输入
.\IUSR_MACHINENAME(.\代表本地机器),点击「检查名称」,系统会自动识别并格式化该账户名
路径访问被拒绝的权限配置方案
根据ASP.NET是否启用模拟,分两种情况处理:
1. 未启用模拟(默认状态)
此时ASP.NET使用应用程序池身份运行,而非IUSR账户:
- 打开IIS管理器,找到你的站点对应的应用池,查看其身份(默认是
ApplicationPoolIdentity) - 给目标文件夹添加权限:右键文件夹→属性→安全→编辑→添加,输入
IIS AppPool\你的应用池名称,点击「检查名称」确认后,授予「读取」权限(如果需要写入操作,再添加「写入」权限)
2. 已启用<identity impersonate="true">
此时ASP.NET会模拟匿名用户(即IUSR_MACHINENAME)或已验证用户:
- 按照前面的方法找到IUSR_MACHINENAME账户,添加到目标文件夹的安全列表,授予所需权限
- 同时确认IIS站点的匿名身份验证设置:站点→身份验证→匿名身份验证→编辑,选择「特定用户」,确认对应的账户是IUSR_MACHINENAME
错误说明
当前报错核心是ASP.NET运行身份无目标文件夹访问权限,IIS各版本运行身份规则:
- IIS 5:
{MACHINE}\ASPNET- IIS 6/7:
Network Service- IIS 7.5+:应用程序池配置的身份;启用模拟后使用匿名用户或已验证请求用户
内容的提问来源于stack exchange,提问作者Roto
相关产品推荐
相关产品推荐

