如何解决IIS中出现的“access to the path is denied”问题
解决跨计算机文件存储的IIS权限拒绝问题
1. 检查应用程序池身份的权限
- 别只盯着IUSR这类内置账户,重点确认Web程序对应应用程序池的运行身份:
- 打开IIS管理器,找到你的网站,查看“应用程序池”列对应的池名称;
- 右键该应用程序池→「高级设置」,查看“标识”字段(默认多为
ApplicationPoolIdentity); - 若使用
ApplicationPoolIdentity,需在文件存储计算机的共享文件夹和NTFS权限中,添加IIS AppPool\[你的应用程序池名称]账户,授予读取/写入(按需配置)权限; - 若用自定义域账户,确保该账户在文件存储计算机有对应的共享和NTFS权限,且两台机器处于同一域或信任域环境。
2. 配置NTFS权限(共享权限≠NTFS权限)
- 共享权限只是第一层校验,必须同步设置文件夹的NTFS权限:
- 右键文件存储文件夹→「属性」→「安全」选项卡;
- 添加应用程序池身份、IUSR等相关账户,授予「读取和执行、列出文件夹内容、读取」(下载至少需要这些权限),若涉及上传则追加写入权限;
- 确保权限继承到所有子文件夹和文件,或手动应用到全部项目。
3. 启用IIS模拟功能
- 若Web程序需要以特定身份访问远程资源,可开启模拟:
- 在IIS管理器中,找到目标网站→「身份验证」;
- 右键「ASP.NET模拟」→「启用」;
- 如需指定固定账户,选择「编辑」,输入具备文件存储访问权限的账户信息(优先用域账户,避免本地账户跨机权限失效)。
4. 规范远程文件路径访问方式
- 确保Web程序中使用UNC路径(如
\\文件存储计算机名\共享文件夹名\文件名),不要用映射驱动器(映射驱动器是用户级配置,IIS应用池身份无法识别); - 测试连通性:在Web服务器上,用应用程序池对应的身份登录,手动访问该UNC路径,确认能正常读取文件。
5. 排查防火墙与网络限制
- 确认文件存储计算机的防火墙允许「文件和打印机共享」(SMB协议,默认端口445);
- 检查两台机器的网络连通性,确保能互相ping通,且无VPN、组策略等限制阻断SMB访问。
内容的提问来源于stack exchange,提问作者adam
相关产品推荐
相关产品推荐

