这里提供的是rsync服务器端的两个文件,chmod.exe+chown.exe 当在Windows下面安装好cwRsync之后,也设置好了同步密码文件,当执行同步的时候遇到这个标题描述的问题: password file must be owned by root when running as root
我的解决办法是查找服务端(如果您安装了是客户端服务端整合的4.05版,则直接进入到安装目录下的Bin目录下)寻找是否存在chomd.exe这个文件(比如E:\Program Files (x86)\ICW\Bin这样的路径),然后,在当前路径下开启CMD(可能需要提升权限)。
将这两个文件下载到客户端的机器里面的bin目录里面,执行如下命令就可以了。当面路径是你的真实的密码路径。
chmod -c 600 /cygdrive/d/jb51.secrets chown administrator /cygdrive/d/jb51.secrets
补充
在bin目录下创建client.password(不一定放在bin目录,这里只是为了方便),内容只要对应服务端中rsync.password中的密码123456 在运行同步之前需要为client.password密码文件授权,否则客户端程序无法访问,授权的方式可以界面操作(参照服务端),也可以在bin目录下运行
chmod.exe -c 600 /cygdrive/${path}/client.password
chown.exe administrator/cygdrive/${path}/client.password
600指读取权限
${path}指密码文件的本地路径,如/cygdrive/c/client.password 指c盘下面的client.password
chown.exe的改变文件属主的命令,当前我是以administrator运行客户端的命令,所以这里是为administrator授权
至此就可以运行客户端命令,注意:客户端执行的时候要在客户端的bin目录下,还有一种方式可以配环境变量:
rsync.exe -avz --password-file=client.password test_rsync@192.168.1.12::test /cygdrive/f/testwin_rsyncdi
命令中的test_rsync是对应服务端中的rsync.password文件的用户
::test是对应服务端中rsync.conf中的test配置
|