Windows 上的 rsync 文件权限

tro*_*zer 34 windows rsync permissions

我有一个 rsync 服务,可以将文件从远程机器同步到将它们放到网络驱动器上的机器上。

我需要复制的文件具有目标文件夹的本机权限。

同步过程运行良好,但完成后,我无法访问某些文件夹 - 权限被拒绝。

我以域管理员身份登录;它也不允许我修改上述文件夹的任何权限。是什么赋予了?

运行命令:

rsync.exe  -v -rlt -z --delete "src_path" "dst_path"
Run Code Online (Sandbox Code Playgroud)

tro*_*zer 28

(来自http://www.samba.org/ftp/rsync/rsync.html

总结:要为目标文件(旧的和新的)提供源权限,请使用--perms.

要为新文件提供目标默认权限(同时保持现有文件不变),请确保--perms关闭并使用该选项--chmod=ugo=rwX(这确保启用所有非屏蔽位)。

如果你想让后一种行为更容易输入,你可以为它定义一个 popt 别名,比如把这一行放在文件 ~/.popt 中(下面定义了 -Z 选项,并包括 --no- g 使用目标目录的默认组):

    rsync alias -Z --no-p --no-g --chmod=ugo=rwX
Run Code Online (Sandbox Code Playgroud)

  • 这与 Linux 上的 rsync 相关,但在 rsync 到 Windows 驱动器时并不总能解决问题,这正是原始帖子所要求的。 (3认同)

mik*_*ing 20

Cygwin 的“posix”安全性给我带来了很多 Windows NTFS 文件权限问题——即使--no-perms与 rsync 一起使用。

我发现新创建的文件/文件夹没有正确继承默认权限,但每个文件/文件夹最终<not inherited>在 Windows 文件/文件夹高级安全选项卡中都有很多条目。(而且这个问题不仅仅与 rsync 相关)。

我发现这个相关的帖子这个链接对于如何使用noaclcygwin/etc/fstab文件中的选项解决这些问题非常有帮助。这种解决方案的缺点是 cygwin 失去了设置文件/文件夹权限的能力,但在许多情况下这并不重要。

(谷歌搜索这个主题,你可能会找到设置 CYGWIN=NOTSEC 环境变量的参考,但这适用于 cygwin v1.5,在 cygwin v1.7 之后不起作用。)


Wer*_*ght 9

在带有DeltaCopy 的Windows 上,我可以使它与:

rsync --perms --chmod=a=rw,Da+x ...
Run Code Online (Sandbox Code Playgroud)

它甚至与 --recursive


归档时间:

查看次数:

52417 次

最近记录:

6 年,10 月 前