使用Web部署创建文件夹并设置ACL

时间:2011-09-28 15:01:38

标签: .net webdeploy microsoft-web-deploy

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

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

2 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分: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等设置,可以进行更精细的控制。有关详细信息,请参阅文章,包括权限的细节。