如何在网站部署期间保留文件夹权限?

时间:2010-03-03 07:31:31

标签: asp.net deployment permissions

我有一个生产网站,一旦在TFS中构建,就会使用xcopy重新部署和更新。它删除了整个站点(不包括根目录),然后复制了新站点。这很有效。

我们使用第三方图表包在运行时创建图像,然后呈现它们的链接。为此,它需要对可浏览文件夹的写权限。

不幸的是,每次我们更新网站时,IIS_USRS的写入权限都会丢失。有没有办法保留这个?

1 个答案:

答案 0 :(得分:0)

我想这取决于服务器运行的操作系统,以及您是在构建到同一服务器上还是在远程服务器上构建。

最简单的方法是将xcopy命令放入批处理文件中,并在xcopy后包含如下内容:

cacls c:\[PathToWebsite]\[ChartImagesFolder] /E /G [AccountSiteRunsUnder]:C

或者是更新的选项(我没有使用过这个,所以我的参数可能会关闭):

icacls c:\[PathToWebsite]\[ChartImagesFolder] /grant [AccountSiteRunsUnder]:M

基本上,其中任何一个都应该为用户帐户提供该网站在指定文件夹中的修改(更改)权限下运行的权限。这应该是对文件夹的任何现有权限的补充,还有修饰符或开关来替换现有权限。

如果要部署到远程服务器,则需要一些机制来在那里运行命令,我们发现PSExec可以处理(来自SysInternals的PS工具的一部分)。