更新时间:2015年08月30日 23:05:52 投稿:mdxy-dxy 我要评论html
当在Windows下面安装好cwRsync以后,也设置好了同步密码文件,当执行同步的时候遇到这个标题描述的问题:linux
“password file must be owned by root when running as root”windows
个人解决办法是查找服务端(若是您安装了是客户端服务端整合的4.05版,则直接进入到安装目录下的Bin目录下)寻找是否存在chomd.exe这个文件(好比E:\Program Files (x86)\ICW\Bin这样的路径),而后,在当前路径下开启CMD(可能须要提高权限)。安全
若是上面的程序下载不方即可以到脚本之家下载,下载地址//www.jb51.net/softs/373702.html。这里提供的是4.10的版本,理论上均可以用。服务器
客户端执行:ide
chmod -c 600 /cygdrive/e/pass.txt(注意下面还须要执行chown administrator /cygdrive/e/pass.txt)工具
其中/cygdrive/e/pass.txt 表示 Windows下面的展现路径e:\pass.txt,请必定要转换成这个样式!ui
您将会看到以下反馈信息表示添加已经添加新的权限到该密码同步文件
mode of `/cygdrive/e/pass.txt' changed to 0600 (rw-------)spa
紧接着继续执行:.net
chown administrator /cygdrive/e/pass.txt
同时该命令无反馈信息
这样在继续执行个人同步命令就会顺利进行:
执行:
rsync -uvzrtopg --delete --progress /cygdrive/e/backup root@10.5.83.52::backup --password-file=/cygdrive/e/pass.txt
获得反馈信息:
building file list ...
8 files to consider
通过这样的处理,在Windows下面执行rsync的同步命令将会很是顺利。
后续内容,当我查看了对应的密码同步文件的安全属性,下面是截图:
图示1:咱们能够看到继承被关闭,同时添加了三种用户的特殊权限,以及全部者变成了Administrator。
而特殊权限集中在如下信息
图示2:所有为针对文件的一些权限。
能够看到该同步工具对于权限的依赖仍是很重要的,同时方便来自于Linux、Unix上的用户作Windows上面的实施,也方便的加入了他们熟悉习惯的CHOMD、CHOWN的Windows编译版。
-=EOB=-
20130616补充说明:
因为一些未知缘由,致使您手动添加权限后可能还会遇到相应的错误提示,通过观察时该chmod会在某些版本的Windows下面再添加一个叫作NONE的帐户,若是碰见手动添加失败的状况,还请使用该命令进行一次权限的从新赋予。
下面是其余网友给出的解决方法:
方法二:
windows客户端提示password file must be owned by root when running as root解决方法
rsync.exe -vzru4P --old-d --progress --password-file=rsyncpwd.txt root@172.18.104.96::log /cygdrive/c/bak
修改为以下:
rsync.exe -vzru4P --old-d --progress --password-file=rsyncpwd.txt<p.txt root@172.18.104.96::log /cygdrive/c/bak
方法三:
这算是个老问题了,每次在windows主机上经过cwrsync向服务端同步数据的时候都会遇到,此次总结记录下吧。错误代码为:
password file must be owned by root when running as root
在linux上设置rsync的时候,须要将passwordfile设置为600权限。因此在windows上咱们也能够用其自带的chmod.exe 执行,其cwrsync客户端默认安装的位置是C:Program FilescwRsyncbin ,具体作法以下:
“C:Program FilescwRsyncbin” 600 /cygdrive/c/etc/password.txt
执行完之后,若是还有错误提示,可使用chown.exe命令将其文件的属主作下更改。具体操做以下:
服务端:
1
2
|
chmod.exe -c 600 /cygdrive/c/etc/password.txt
chown.exe SvcCWRSYNC /cygdrive/c/etc/password.txt
|
SvcCWRSYNC为windows上的cwrsync-server安装时默认新建的一个用户。
客户端:
1
2
|
chmod.exe -c 600 /cygdrive/c/etc/password.txt
chown.exe administrator /cygdrive/c/etc/password.txt
|
默认客户端上没有chown.exe这个命令,直接从cwrsync-server的安装路径里拷贝一个过来就能够用了。windows的默认用户通常都是administrator,若是你不是以administrator登陆的,请将上面命令中的administrator改为你当前使用的用户名。