如何使用 microsoft web deploy 创建文件夹?另外,当我创建该文件夹时,如何在其上设置 ACL?
使用 Visual Studio 发布到文件系统时可以这样做吗?或者我是否必须发布到启用了 IIS Web 管理服务 (WMSvc) 才能设置 acl 和创建文件夹的服务器?
如何使用 microsoft web deploy 创建文件夹?另外,当我创建该文件夹时,如何在其上设置 ACL?
使用 Visual Studio 发布到文件系统时可以这样做吗?或者我是否必须发布到启用了 IIS Web 管理服务 (WMSvc) 才能设置 acl 和创建文件夹的服务器?
从 Visual Studio 发布的文件系统不会设置 ACL,但您可以使用 Web 部署来设置。要在从 Visual Studio 发布或使用 MSBuild 发布时自动化设置 ACL 的过程,请参阅此博客文章:
http://sedodream.com/2011/11/08/SettingFolderPermissionsOnWebPublish.aspx
如果您使用contentPath或dirPath提供程序,您在 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 等设置,可实现更精细的控制。有关更多详细信息,请参阅文章,包括权限的来龙去脉。