2010-03-03 75 views
0

我有一个生产网站,一旦建立在TFS中,使用xcopy重新部署和更新。整个网站(不包括根目录)被删除,然后复制新网站。这很好。如何在网站部署期间保留文件夹权限?

我们使用第三方图表包,在运行时创建图像,然后呈现链接。为了做到这一点,它需要向可浏览文件夹写入权限。

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

+0

@Filip - 你想要做的最后一件事是给整个网站的网站帐号写入权限 - 巨大的安全风险。 – 2010-03-03 08:12:24

+0

我没有告诉他在整个网站上这样做。但仅仅是为了争辩,为什么它会是一个巨大的安全风险? – 2010-03-03 09:16:08

回答

0

我想这取决于服务器运行的是什么操作系统,无论您是构建在同一台服务器上,你要部署到,或远程之一。

做最简单的事情是把你的xcopy命令到一个批处理文件,包括类似的XCOPY后执行以下操作:

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

或者更高达日期选项(我没有用这一点,所以我的参数可能会关闭):

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

基本上,无论是那些应该给该站点已修改(改变)指定的文件夹权限下运行的用户帐户。这应该是对该文件夹的任何现有权限的补充,还有修饰符或开关来替换现有权限。

如果您正在部署到远程服务器,那么您需要一些机制来在那里运行命令,我们发现PSExec工作得很好(来自SysInternals的PS工具的一部分)。