rsyncd.conf是rsync daemon的配置文件。如何为rsyncd.conf增加一份module呢
一份简单的配置
[browser]
uid = odin
gid = odin
path = /search/nginx/html/index_protector/resources/data/conf
hosts allow = 10.0.0.0/8 192.168.0.0/16
参数说明:
1. browser:module名称,对方使用rsync时需要指定
2. uid, gid: 决定了收到文件的用户和组
3. path: 当前module对应的目录
4. hosts allow:允许的ip列表。上例中,我们允许了10开头的ip段和192.168开头的ip段通过rsync访问我们的机器。
操作一下
假设开启rsync daemon的机器为10.136.31.210(机器A)。我们在client机器(机器B)执行:
rsync -avzP 10.136.31.210::browser/white ./
即可将机器A上/search/nginx/html/index_protector/resources/data/conf目录下的white文件download至机器B。
执行:
rsync -avzP q.php 10.136.31.210::browser
即可将B机器上的q.php upload至机器A的/search/nginx/html/index_protector/resources/data/conf目录,其权限为用户和组分别为odin, odin。
-rw-r--r-- 1 odin odin 60 7月 27 15:02 q.php
只读/只写
如果只想给client开放单一的download(读)/upload(写)权限,可以为module加如下配置
#只读
read only = true
#只写
write only = true
验证用户名密码
默认情况下,client端不需要使用用户名密码。如果希望client使用特定的用户名,密码,可以增加类似下面的配置:
auth users = odin
secrets file = /etc/rsyncd.passwd
参数说明:
1. auth users:用户名列表,多用户名由空格或逗号分隔。只有这些用户才允许连接该module。这里的用户和系统用户没有任何关系。用户的名和密码以明文方式存放在”secrets file”选项指定的文件中。
2. secrets file:密码文件,文件每行包含一个username:passwd对,passwd不要超过8个字符。文件的权限一定要是600,否则客户端将不能连接服务器。一份文件示例:
odin:123
search:456
加入上述配置后,client必须指定odin用户并输入密码才可以进行读写操作。
rsync -avzP odin@10.136.31.210::browser/white ./
client端使用odin用户下载文件,系统会要求输入密码,正确后才可下载white文件