5

如何使用 microsoft web deploy 创建文件夹?另外,当我创建该文件夹时,如何在其上设置 ACL?

使用 Visual Studio 发布到文件系统时可以这样做吗?或者我是否必须发布到启用了 IIS Web 管理服务 (WMSvc) 才能设置 acl 和创建文件夹的服务器?

4

2 回答 2

7

从 Visual Studio 发布的文件系统不会设置 ACL,但您可以使用 Web 部署来设置。要在从 Visual Studio 发布或使用 MSBuild 发布时自动化设置 ACL 的过程,请参阅此博客文章:

http://sedodream.com/2011/11/08/SettingFolderPermissionsOnWebPublish.aspx

于 2012-03-16T17:08:21.980 回答
4

如果您使用contentPathdirPath提供程序,您在 source 参数中指定的目录将在目标计算机上创建(如果它尚不存在)。如果您选择 contentPath 提供程序,您可以使用它的includeAcls=true设置来复制 acls。这是示例语法:

msdeploy -verb:sync -source:contentPath=c:\inetpub\wwwroot,includeAcls=true -dest:contentPath=c:\inetpub\wwwroot,computerName=Server1

要正确设置权限,您必须在源计算机和目标计算机上使用域帐户或具有匹配 SID 的本地帐户。有关更多详细信息,请参阅contentPath文章。

如果要单独设置目标文件夹的权限,可以使用setAcl提供程序。setAcl 具有 setAclUser 和 setAclAccess 等设置,可实现更精细的控制。有关更多详细信息,请参阅文章,包括权限的来龙去脉。

于 2012-03-16T03:34:29.717 回答