虚拟文件夹可从 IIS 访问,但不能从网页访问
Virtual Folder accessible from IIS, but not from web page
一段时间以来,我一直在尝试将我正在尝试做的事情减少到最简单的工作形式。
此时,我的设置包括:
- 清理 Windows 10 个安装。
- 清理 IIS 10 安装。
- 在 IIS 中,我添加了一个别名为 "dddd" 的虚拟目录,指向文件夹 "d:\myfiles\"(在根 Web 文件夹之外)。
- 在 IIS 中,当我右键单击 "dddd" > Explore 时:Windows Explorer 会显示我的文件列表。
- 但是,在 IIS 中,当我右键单击 "dddd" > 单击 "Manage Virtual Directory" > 浏览 > 我得到 "Access is denied".
这一点并不奇怪;可能与权限有关。所以我开始 fiddle 使用 NTFS 权限。
在我更改任何内容之前,我注意到此文件夹列出了具有完全控制权的系统帐户,以及同样具有完全控制权的我的帐户(以及作为所有者的我的帐户)。
我将首先添加具有(默认)权限的网络服务帐户,如读取和执行、列出文件夹内容和读取权限;然而,运气不好。
然后我将添加 IIS_IUSRS 帐户;具有相同的默认权限;仍然访问被拒绝。
在这一点上我不想再进一步了,因为我对这些事情的理解——当然是有限的——告诉我这应该可行。
不应该吗?
为什么不是呢?
或者我们可以反过来问:位于 IIS 根文件夹之外的(虚拟)文件夹需要的最低权限是什么,这样您就可以通过单击 link 在几乎裸露的 HTML 文件上 在几乎干净的 Windows + IIS 安装上?
谢谢,
洪水
为 IIS_IUSRS
添加权限是正确的,但对 Network Service
没有必要,只要您不将其用作应用程序池的标识即可。
此时您有两种选择来完成这项工作。
- 将
iusr
的权限添加到 "d:\myfiles\"
或
- 为您的站点更改
Anonymous Authentication Credentials
。
在 IIS 管理器 select 您的站点中,双击 Authentication
图标和 select Anonymous Authentication
,在右侧单击 Edit...
然后勾选 Application Pool Identity
.
现在而不是 IUSR
,应用程序池身份帐户用于访问文件,并且该帐户自动成为已经具有权限的 IIS_IUSRS
的成员。
所以对于摘要,如果不进行此更改,IUSR
和 IIS_IUSRS
都需要读取权限。
我通常不考虑 IUSR
,只使用 IIS_IUSRS
或实际的应用程序池标识。
一段时间以来,我一直在尝试将我正在尝试做的事情减少到最简单的工作形式。
此时,我的设置包括:
- 清理 Windows 10 个安装。
- 清理 IIS 10 安装。
- 在 IIS 中,我添加了一个别名为 "dddd" 的虚拟目录,指向文件夹 "d:\myfiles\"(在根 Web 文件夹之外)。
- 在 IIS 中,当我右键单击 "dddd" > Explore 时:Windows Explorer 会显示我的文件列表。
- 但是,在 IIS 中,当我右键单击 "dddd" > 单击 "Manage Virtual Directory" > 浏览 > 我得到 "Access is denied".
这一点并不奇怪;可能与权限有关。所以我开始 fiddle 使用 NTFS 权限。
在我更改任何内容之前,我注意到此文件夹列出了具有完全控制权的系统帐户,以及同样具有完全控制权的我的帐户(以及作为所有者的我的帐户)。
我将首先添加具有(默认)权限的网络服务帐户,如读取和执行、列出文件夹内容和读取权限;然而,运气不好。
然后我将添加 IIS_IUSRS 帐户;具有相同的默认权限;仍然访问被拒绝。
在这一点上我不想再进一步了,因为我对这些事情的理解——当然是有限的——告诉我这应该可行。
不应该吗?
为什么不是呢?
或者我们可以反过来问:位于 IIS 根文件夹之外的(虚拟)文件夹需要的最低权限是什么,这样您就可以通过单击 link 在几乎裸露的 HTML 文件上 在几乎干净的 Windows + IIS 安装上?
谢谢,
洪水
为 IIS_IUSRS
添加权限是正确的,但对 Network Service
没有必要,只要您不将其用作应用程序池的标识即可。
此时您有两种选择来完成这项工作。
- 将
iusr
的权限添加到 "d:\myfiles\"
或
- 为您的站点更改
Anonymous Authentication Credentials
。
在 IIS 管理器 select 您的站点中,双击 Authentication
图标和 select Anonymous Authentication
,在右侧单击 Edit...
然后勾选 Application Pool Identity
.
现在而不是 IUSR
,应用程序池身份帐户用于访问文件,并且该帐户自动成为已经具有权限的 IIS_IUSRS
的成员。
所以对于摘要,如果不进行此更改,IUSR
和 IIS_IUSRS
都需要读取权限。
我通常不考虑 IUSR
,只使用 IIS_IUSRS
或实际的应用程序池标识。