【问题标题】:How to retain folder permission during website deployment?如何在网站部署期间保留文件夹权限?
【发布时间】:2011-01-23 02:09:48
【问题描述】:

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

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

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

【问题讨论】:

  • @Filip - 您要做的最后一件事是授予网站帐户对整个站点的写入权限 - 巨大的安全风险。
  • 我没有告诉他在整个网站上这样做。但只是为了争论,为什么会有巨大的安全风险?

标签: asp.net deployment permissions


【解决方案1】:

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

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 2011-11-02
    • 2018-05-03
    相关资源
    最近更新 更多