使用 Cygwin rsync 将 ACL 处理留给 Windows

pal*_*wim 13 windows cygwin rsync acl

我正在运行一个rsync命令,将我的文件从服务器复制到我的 Windows 机器,例如:

rsync -rt --partial-dir=".rsync" --del rsync://server/a/ a/
Run Code Online (Sandbox Code Playgroud)

每当此命令创建一个目录时,它往往会创建一个具有疯狂 ACL/权限的目录。对我来说,它倾向于创建 10<not inherited>个条目,其中一个拒绝运行rsync命令的用户的条目,其他条目也没有多大意义。甚至使用类似线程建议的--chmod=ugo=rwX选项也会发生这种情况。

我该怎么做才能完全阻止rsync尝试设置权限(并将权限留给 Windows 中的 ACL 继承)?

ak2*_*ak2 13

使用该noacl选项挂载有问题的目录,如手册中所述

(如果您想知道为什么 Unix 权限到 Windows ACL 的映射并不简单,请参阅此处。)

  • ak2 的回答非常有帮助,但是要找到如何在 /etc/fstab 中正确设置 `noacl` 需要花费大量时间进行搜索。我发现这个 [链接相当](http://i-cat.blogspot.com/2010/01/cygwinnontsec-in-cygwin-17-speak.html) 很有帮助。使用 `noacl` 修复了我的 rsync 问题 - 谢谢。 (2认同)
  • @miking 已经通过该链接和 `noacl` 选项给出了一个很好的提示。MobaXterm(便携式)对我不起作用,因为它似乎在每次启动时重新创建`/etc/fstab`。我部分解决了将 `mount -c /drives -o binary,posix=0,user,auto,noacl` 放入我的 `.bashrc` 的问题。“部分”,因为这仅影响“Windows 驱动器号”(而不是例如`/home`)。 (2认同)
  • @SimonEast - 在您回复时发现了这个。你能试试这个并回应吗?- https://developers.redhat.com/blog/2018/02/07/windows-rsync-jboss-developer-studio/ - # 如果你的发行版没有 fstab 文件,这是 `cwRsync` 的典型文件,这很容易解决。在`$MY_RSYNC_DIST_DIR/etc/fstab`创建文件并粘贴以下内容:`none /cygdrive cygdrive binary,posix=0,user,noacl 0 0` (2认同)