参考:应用程序池标识:https://learn.microsoft.com/zh-cn/iis/manage/configuring-security/application-pool-identities

错误

IIS 部署的网站,网站保存文件到本地时,报错:没有权限。

解决方法一

配置 IIS 应用程序池权限,修改应用程序池标识。

  1. 打开 IIS 管理控制台 (INETMGR.MSC)。

  2. 打开计算机节点下的 “应用程序池” 节点。 选择要更改为在自动生成的应用程序池标识下运行的应用程序池。

  3. 右键单击应用程序池并选择 “高级设置”

image.png

  1. 选择 “标识” 列表项,然后单击省略号(带有三个点的按钮)。

  2. 以下对话框随即出现:

image.png

  1. 选择 “内置帐户” 按钮,然后从组合框中选择标识类型 LocalSystem。或者选择 “自定义账户”,输入计算机登陆的 administrator 用户名和密码即可。

这样就可以保存文件到本地了。

几个标识类型的含义:

  • LocalService 低权限,仅限本地资源访问,无网络身份,安全性高于下面两者
  • LocalSystem 最高权限,等同于Windows的SYSTEM账户,可访问所有系统资源
  • NetworkService 中等权限,以本地计算机身份访问网络资源(如远程数据库),本地权限受限
  • ApplicationPoolIdentity 默认虚拟账户,权限严格限制于当前应用程序池,属于IIS_IUSRS组

解决方法二

找到你需要操作的文件的根文件夹,右键点击属性。 选择 “安全” 选项,“编辑”。

image.png

添加用户。

image.png

点击高级,可以检索出需要的用户。

image.png

点击立即查找,选中 IIS_IUSRS,确定。

image.png

给 IIS_IUSRS 赋予 “修改” 的权限。

image.png

同理再添加一个 IUSR 用户,并赋予 “修改” 的权限,即可。 这样就可以保存文件到本地了。