我只是将一堆文件从运行 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
但相反,它们属于513
or 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 或用户拨出。