我有一个 IIS 应用程序,wwwroot\AppFolder
我想在进行一些更改之前将其复制到另一个驱动器。AppFolder 下的某些文件夹需要手动配置权限,例如为 IIS_IUSR 添加对 OpLogs 文件夹的写访问权限等。
为了在出现问题时快速恢复 IIS 应用程序,我想创建一个具有完整权限的副本(可从文件夹属性/安全选项卡访问的权限)。xcopy
按照建议使用在这个答案中AppFolder
如果我复制到服务器上的另一个驱动器则不起作用。
我读过的许多文档都建议/x
使用/o
标记来实现我想要的功能,但对我来说它们不起作用。如何将 IIS 应用程序文件夹复制到另一个驱动器而不丢失权限设置?
更新:我注意到,即使使用 将文件夹复制到目的地时文件夹的权限不再包含某些条目xcopy
,但如果我将它们复制回原始目录,再次使用xcopy
上述参数,权限就会再次出现!例如,Network Service
可以访问该文件夹。所以无论这里发生了什么,都会导致权限在目标目录中不可用,但以某种方式作为元数据保留。所以只要我使用xcopy
往返,我的问题就会消失。我还检查了如果我通过常规复制和粘贴(使用鼠标)复制到同一个文件夹(wwwroot)并且在这种情况下不保留权限会发生什么,所以无论目的地是什么,这xcopy
都是要走的路。
这并不能改变我不理解权限如何消失并再次出现的事实。
答案1
如何在不丢失权限设置的情况下将 IIS 应用程序文件夹复制到另一个驱动器?
robocopy
与选项一起使用/SEC
:
/SEC
:使用 SECurity 复制文件(相当于/COPY:DATS
)。
在哪里:
(复制标志:
- D=数据,
- A=属性,
- T=时间戳,
- S=安全=NTFS ACL,
- O=所有者信息,U=审计信息)
- 文件数据(D)始终包含文件时间戳(T)。