【发布时间】:2012-10-25 03:58:23
【问题描述】:
我在 IIS 7.5 下运行 ISAPI dll,并希望使用 Bill Egge 的 ISAPI Loader dll,以便可以在不停止服务器的情况下换出更新的 dll。
如果我将保存 DLL 的目录上的安全设置为“所有人”并“完全控制”,那么它会按设计工作(带有 *.update 扩展名的 dll 会自动导致现有的 *.run dll 被备份,以及要使用 *.run 扩展名重命名的新 dll)。
显然,我不希望使用“每个人”帐户,因为这会破坏安全性。所以我删除了“所有人”的权限。
我的应用在应用程序池 - “TestAppPool”下运行。我遵循了IIS7 Permissions Overview - ApplicationPoolIdentity 的最高评价答案,并将用户“IIS AppPool\TestAppPool”的安全性添加到“完全控制”。 但是,这不允许 *.update dll 覆盖 *.run dll。
谁能指出我正确的方向。
【问题讨论】:
-
可能是个愚蠢的问题,但你确定
TestAppPool正在使用ApplicationPoolIdentity运行吗?您可以通过右键单击TestAppPool,选择Advanced Settings,然后在Process Model\Identity下方查看。 -
Thx Rich,我已经仔细检查了这一点,并且可以确认它正在使用 ApplicationPoolIdentity 作为 Process Model\Identity 设置运行。
-
您可以尝试将完全控制权授予 IIS_IUSRS 组,或者可能是 IUSR 组或用户组。您可以使用名为 FileMon 的实用程序来帮助解决您遇到的权限问题:support.microsoft.com/kb/890960。
标签: security iis iis-7.5 isapi