是否可以在 2008 域控制器上使用 IIS 7 应用程序池标识

Chr*_*ers 3 security domain-controller iis-7.5 windows-server-2008-r2

所以,让我首先声明免责声明:我通常不会在域控制器上搭载 IIS,但这就是我所拥有的,在这种情况下我无法更改它。

我有一个需要在这里托管的 WCF Web 服务。我希望能够使用来自 IIS 的应用程序池标识来授予文件系统权限以及组件服务中的启动和激活权限。当我尝试选择“IIS AppPool\DefaultAppPool”来浏览该帐户时,我无法找到该帐户。

有谁知道这在 2008R2 域控制器上是否可行?

Kev*_*Kev 6

通过 Windows 2008R2 上的 UI 向应用程序池标识授予权限可能会偶尔无法正常工作,但可以使用几个命令行工具来实现。

NTFS 权限:

使用ICACLS命令行工具设置 NTFS 权限:

icacls c:\wwwroot /grant "IIS AppPool\DefaultAppPool":(CI)(OI)(M)
Run Code Online (Sandbox Code Playgroud)

以上配置DefaultAppPool标识c:\wwwroot具有文件和文件夹继承的修改权限。在用户界面中,它看起来像:

在此处输入图片说明

并在高级 UI 权限下:

在此处输入图片说明

DCOM 启动和激活和访问权限:

同样,当涉及到IIS AppPool\<ident>帐户时,UI 在这里可能有点麻烦,并且没有内置的命令行工具来配置Launch and Activation PermissionsAccess Permissions。您可以尝试在注册表中设置这些值,但除非您知道如何为其创建序列化 ACL LaunchPermissionAccessPermission否则这将很难进行。

一切都没有丢失。有一个名为的工具dcomperm.exe,它作为示例项目包含在适用于 Windows 7 和 .NET Framework 4Microsoft Windows SDK 中

这一章在这里写过:

使用 DcomPerm.exe 更接近 100% 脚本化 SharePoint 安装的又一步

您可以尝试自己构建它或从他的 Microsoft Live SkyDrive下载预构建的二进制文件

要使用dcomperm.exe它,您需要知道AppIDDCOM 应用程序的名称。您可以通过在应用程序的 DCOM 配置属性的常规选项卡中找到它来完成此操作。例如,我选择了 IIS CertObj 库作为工作示例。:

在此处输入图片说明

您可以将光标放在应用程序 ID 字段中并选择整个字段,确保也包含花括号。

接下来打开命令行提示符(以管理员身份运行)。要授予您的应用程序池身份本地启动和本地激活权限,您将执行:

DComPerm.exe -al {62B8CCBE-5A45-4372-8C4A-6A87DD3EDD60} set "IIS AppPool\DefaultAppPool" permit level:ll,la
Run Code Online (Sandbox Code Playgroud)

在哪里:

  • -al = 修改或列出启动和激活权限

  • {62B8CCBE-5A45-4372-8C4A-6A87DD3EDD60} = 我们从 DCOMCNFG UI 复制的 App ID

  • set "IIS AppPool\DefaultAppPool" = 设置这个身份

  • permit = 设置许可标志

  • ll = 本地发布

  • la = 本地激活

这在 UI 中看起来如下所示:

在此处输入图片说明