我使用cwRsync将一些文件从Windows同步到Ubuntu。这个过程过去在Vista上运行得很好,但是自从我升级到Windows7之后,我就一直有权限问题。
一些背景..。我曾在Vista上获得相同的权限问题,但这是通过使用CYGWIN=nontsec环境变量来解决的。
前置问题
rsync: failed to modify permissions on xxx: Permission denied (13)由于windows和UNIX文件权限不同,所以将文件与windows权限同步是没有意义的。rsync所做的是将UNIX端的权限设置为0 (d---------)。为了防止这种情况,cygwin有nontsec变量,它指示它忽略windows文件权限。
问题是,在Windows7上,nontsec似乎没有任何效果。
发布于 2010-02-01 14:57:43
如果是您的解决方案,我必须做出调整才能看到它对我有用--而不是您的etc/fstab内容,而是使用了您引用的论坛主题中的以下内容:
none /cygdrive cygdrive binary,posix=0,user,noacl 0 0我使用的是cwRsync安装程序4.0.3。我很高兴它对我有用,但我不能给出一个原因,因为我不太熟悉fstab语法和选项。希望它能为其他人增加一些有用的东西。
发布于 2010-01-28 19:13:36
我发现不是Windows 7造成了这个问题。相反,是新版本的cwrsync忽略了nontsec环境var。对于高于1.7的cwRsync版本,需要使用noacl选项。(见论坛主题:无法访问RSYNC备份文件夹的子文件夹。)
解决方案包括使用fstab选项创建一个noacl文件:
# In this example, my cwRsync dir is located at: "C:/Program Files (x86)/cwRsync"
# Filename: "C:/Program Files (x86)/cwRsync/etc/fstab"
C:/Program\040Files\040(x86)/cwRsync / ntfs override,binary,noacl 0 0
C:/Program\040Files\040(x86)/cwRsync/bin /usr/bin ntfs override,binary,noacl 0 0就这样!您还可以删除CYGWIN=nontsec env,因为它不再被使用。
发布于 2010-07-10 17:49:36
我也有同样的问题,从基于Solaris的was主机复制到我的本地PC上。当文件被复制下来时,PC权限就会被删除。我设置了fstab文件,但没有启动。
最后,我意识到我是在对rsync.exe进行完整的路径调用,这意味着我的当前目录没有选择我刚刚创建的etc文件夹。为了解决这个问题,我在调用rsync命令的前面添加了这些行,并且它工作得很好。
SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC
c:
cd %CWRSYNCHOME%现在,我的文件权限正确地默认为父文件夹权限,没有问题。
我只是想在这个线程上贴上这个标签,以防将来还有其他人遇到同样的问题。
https://stackoverflow.com/questions/2124169
复制相似问题