免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8634 | 回复: 7
打印 上一主题 下一主题

[系统管理] rsync只能用root用户运行服务端吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-15 14:41 |只看该作者 |倒序浏览
rsync软件用源码安装的,安装路径为:/home/jenkins/vs/rsync
rsync的配置文件内容为:

uid = jenkins
gid = jenkins
use chroot = no
max connections = 4
strict modes = no
port = 9090

pid file = /tmp/rsync/rsyncd.pid
motd file = /home/jenkins/vs/rsync/conf/rsyncd.motd
lock file = /tmp/rsync/rsync.lock
log file = /tmp/rsync/rsyncd.log


[jenkins-ci]
path =/home/jenkins/jenkins/work
comment = This is a jenkins ci data
ignore errors         
read only = yes
list = no              
auth users = backup
secrets file = /home/jenkins/vs/rsync/conf/rsyncd.passwd

其中/home/jenkins/jenkins/work这个目录的数据,全部由jenkins用户产生

然后,服务端运行:(以jenkins用户运行)
./rsync --daemon --config=/home/jenkins/vs/rsync/conf/rsyncd.conf

客户端 运行:
./rsync -vzrtopg --progress --delete --port=9090 jenkins@192.168.1.223::jenkins-ci ~/data
客户端运行报错:
[jenkins@cluster bin]$ ./rsync -vzrtopg --progress --delete --port=9090 jenkins@192.168.1.223::jenkins-ci ~/data

Password:
@ERROR: setgroups failed
rsync error: error starting client-server protocol (code 5) at main.c(1635) [Receiver=3.1.1pre2]
查看服务端日志:
2014/06/15 14:39:26 [40509] rsyncd version 3.1.1pre2 starting, listening on port 9090
2014/06/15 14:39:44 [40510] params.carameter() - Ignoring badly formed line in config file: ignore errors
2014/06/15 14:39:45 [40510] name lookup failed for 192.168.1.222: Name or service not known
2014/06/15 14:39:45 [40510] connect from UNKNOWN (192.168.1.222)
2014/06/15 14:39:46 [40510] rsync: setgroups failed: Operation not permitted (1)


如果服务端以root用户启动rsync服务器,客户端就没有问题了

请问rsync只能用root用户运行吗?

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
2 [报告]
发表于 2014-06-16 07:44 |只看该作者
从协议和配置上看, rsync 应该可以用普通用户启动和使用的.

只不过, 你的参数有点小问题, 普通用户应该没有 chown/chgrp 的能力的. 所以, 你rsync过来的文件, 只能是你自己的用户.

论坛徽章:
0
3 [报告]
发表于 2014-06-16 23:21 |只看该作者
现在的问题是,服务端必须要用root用户运行。

但是,我客户端只是想把文件拿下来而已,不想chown/chgrp,我想干的就这些

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
4 [报告]
发表于 2014-06-17 11:07 |只看该作者
回复 3# string2020

如果你服务端不想用root运行, 那必须保证你要访问的目录是 普通用户可以访问的.

另外, 同步参数中不要加 -p -g 这样的保留属方的参数.
   

论坛徽章:
0
5 [报告]
发表于 2019-02-12 17:19 |只看该作者
本帖最后由 shawshank_wwb 于 2019-02-12 17:21 编辑

可以不需要root用于运行rsync服务端,也可以在客户端上传
客户端命令
rsync -azuqt --delete /home/miaocb/rsync/test/ --port=9520 192.168.7.43::www/

服务端的配置文件是类似楼主的配置
不过没设置密码的
rsync版本是3.0的

论坛徽章:
0
6 [报告]
发表于 2019-02-12 17:21 |只看该作者
回复 5# shawshank_wwb

现在机器是内核2.6之后,rsync版本是3.0的

论坛徽章:
0
7 [报告]
发表于 2019-02-26 15:50 |只看该作者
注释 auth users = backup 看下
[jenkins-ci]
            
#auth users = backup
secrets file = /home/jenkins/vs/rsync/conf/rsyncd.passwd
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP