尽管拥有所有权,rsync“权限被拒绝”

尽管拥有所有权,rsync“权限被拒绝”

我只是将一堆文件从运行 cygwin sshd 的 Windows 盒子同步到 CentOS 6.4 盒子。我rsync -e sshd...在 CentOS 上运行来做到这一点。

然后我在 CentOS 机器上插入 USB 驱动器,使用 格式化为 ext4 mkfs.ext4,并将其安装在 /mnt/backup(没有额外的选项)。然后我chown在 /mnt/backup 上执行操作,并运行rsync -vrlptg将文件从 CentOS 盒子复制到 /mnt/backup。少数随机文件(几十个或几十万个,主要来自 4 个不同的目录,但不是这些目录中的所有文件)因权限错误而失败。但当我ls -l打开 CentOS 盒子时,它表明我拥有所有这些。

如果我sudo rsync相反,它会复制所有内容而不会抱怨。

为什么 rsync 似乎认为我无权将自己的文件复制到自己的驱动器?

更新:虽然早些时候它说myuser拥有它们,但我已经运行了一个sudo rsync -e sshd,现在大多数(但不是全部)文件,尽管位于 CentOS 盒子(/home/myuser)上我的主驱动器的文件夹中,但现在不再属于myuser myuser但相反,它们属于513or dialout,我从未将其设置为用户。

答案1

rsync我想知道您的问题是否与我在博客上找到的详细介绍如何使用 Cygwin、和 的摘录有关ssh?文章的标题是:Cygwin 中的 SSH 和 Rsync

使用 NTFS 文件系统时,Cygwin 默认情况下将使用 NTFS 文件权限应用 posix 样式的文件权限。在某些情况下,这可能是不可取的,因为这可能会使在 Cygwin 之外处理 Windows 服务器上的文件变得困难。可以通过修改 /etc/fstab 文件来更改此行为。只需添加/编辑该文件中的行即可如下所示:

无 /cygdrive cygdrive 用户,noacl,posix=0 0 0

这可以解释为什么权限显示为 UID 513 或用户拨出。

相关内容