rsync二:daemon端配置文件

简介:
关于rsync daemon的配置文件:

   rsync安装时没有提供一个配置文件模板,需要自己手动创建,名称为rsyncd.conf

   配置文件文件分为两部分,全局参数和模块参数。全局参数设定全局的,默认的属性,模块参数设定每个用来同步的目录的属性,模块即用来同步的目录。

   文件格式由模块和参数组成,模块名称由[ ]括起来,参数的形式是”name=value”,#号开头的行是注释,”\”结尾的行表示行未结束。

参数中”=”号后面的值可以是字符串(不必使用引号括起来),或者布尔值。布尔值可以是yes/no0/1true/false。布尔值中的大小写没有意义,但在字符串中有意义。

 

   常用的全局选项:

   motd file:设定欢迎消息

   pid file:该选项告诉daemon把它的进程ID写入指定文件。如果文件已经存在,daemon会中止运行,而不是覆盖原文件。

   port:设定daemon运行监听的端口。如果daemon是由inetd运行,该选项将被忽略;如果命令行中已经指定--port,该选项将被取代。

   address:设定rsync daemon运行时监听的地址。同上,如果daemoninetd运行或命令行中已经指定了--port,该选项将被忽略或取代。

 

   模块参数比较多,常用的有: 

   path:设定该模块的目录位置

   use chroot:指定是否使用chroot,值为yesno,我推荐no

   max connections:该参数设定了daemon允许每个client发起的最大连接数。超过最大连接数,client会收到警告信息,值为0表示不限制,值为负数表示禁用该模块

   lock file:该参数用来支持max connection,它指定一个文件来记录client的请求,以确保client的请求不会突破最大连接数

   log file:设定该模块的log文件的位置,如果此参数未设定,或rsync daemon读取指定文件失败,rsync会使用syslog记录日志;如果此参数只在每个模块中设定,而未在全局中设定,则全局日志将只记录授权失败或配置文件错误的消息

   read only:设定是否允许客户端上传文件,默认为yes,不允许上传文件

   write only:设定是否允许客户端下载文件,默认为no,允许下载文件(有点拗

   list:设定该模块是否允许被列出,有点类似于sambabrowseable,默认为yes,我们可以把它设定为no,来创建一个隐藏模块

   uid:当rsync daemonroot用户运行时,此参数指定了,向该模块传输文件,或从该模块传输文件时的用户身份(用户名或用户ID),默认为-2,即nobody用户

   gid:意义类似于uid,默认为-2,即nobody

   incoming chmod:这个参数允许你指定多个以逗号分隔的权限字符,这些权限会影响所有daemon收到的文件。这些权限会在其它所有权限之后生效,这意味着,如果客户端没有指定--perms,它们会覆盖掉目标默认和(以及或)已经存在的权限。

   auth users:这个参数指定了允许访问该模块的用户列表,列表中的用户名以逗号和空格分隔。指定用户可以不必真实存在于本地系统,用户名中也可以包含shell通配符。纯文本的用户名和密码存储在由”secrets file”参数指定的文件中。

   secrets file:该参数指定一个密码文件,用于该模块的授权验证。只有当指定了”auth users”参数时,这个文件才会被考虑。密码可以包含任何字符,最好不要超过8个字符。该参数没有默认值,你必须手动创建一个密码文件,而且该文件不应该被其它用户访问。

   strict modes:该参数决定了是否对密码文件进行权限检查。如果值为yes,除了运行rsync daemon的用户外,其它用户均不能访问该文件。默认值为yes

   fake super:如果该模块设置成fake super = yes,跟在命令行中指定了--fake-super效果一样。它不需要daemonroot运行,就可以存储文件的完整属性。

   hosts allow:简单的说,该参数指定了允许访问该模块的客户端名称或IP。可以指定一个具体的IP,或配合掩码指定一个IP段。当hosts allowhosts deny同时指定的时候,先检查hosts allow,匹配的客户端将被允许访问该模块;然后检查hosts deny,匹配的客户端将被拒绝;既不匹配hosts allow又不匹配hosts deny的客户端将被允许访问。

   hosts deny:该参数指定的客户端均不允许访问该模块。

   ignore errors:如果该参数被指定,在进行传输中的删除操作时,rsync将忽略掉daemonI/O错误。通常情况下,如果发生任何I/O错误,rsync将忽略掉--delete操作,以防止由于临时资源短缺或其它I/O错误而导致的灾难性(文件)丢失。

   timeoutrsync的超时设置,防止客户端的死连接,单位为秒。默认值为0,意味着没有超时定义。

   dont compress:此选项允许指定一些基于通配符模式的文件名,当从daemon拉文件时,这些文件将不会被压缩。选项接受一个以空格分隔的,大小写敏感的通配符模式列表。类似于命令行中的--skip-compress=LIST,并且会覆盖命令中的参数。

   filter:该参数接受一个由空格分开的daemon过滤规则列表,每个模块只接受一个filter参数,所以要把所有规则写入一个filter参数中。可以使用正常语法把一个或多个merge-file指定成一条规则。

   exclude:该参数接收一个以空格分隔的daemon排除规则的列表,像客户端的--exclude选项一样,它使用”-“或”+”来指明排除或包含。一个模块中只能有一个exclude参数。

   include:该参数可以覆盖掉exclude的效果。一个模块中只能有一个include参数。

   exclude from:该参数指定了一个daemon上的文件,用来包含daemon的排除规则,每行一条(规则)。每个模块中只能有一个exclude from参数,如果有多个exclude-from文件,可以在filter参数中把它们看成成一个merge file

   include from:类似于exclude from

   译者注:对于什么是merge-filemerge file,参考下文关于client中的过滤规则。
 
   本人的rsync daemon配置文件:
 
  1. #This is the rsync daemon configuration 
  2.  
  3. #global settings 
  4. pid file = /var/rsync/rsync.pid 
  5. port = 873 
  6. lock file = /var/rsync/lock.log 
  7. log file = /var/rsync/rsync.log 
  8.  
  9. #module settings 
  10. [hadoop] 
  11. path = /home/hdfs/hadoop/conf/ 
  12. use chroot = no 
  13. max connections = 15 
  14. read only = yes 
  15. write only = no 
  16. list = no 
  17. uid = hdfs 
  18. gid = hdfs 
  19. incoming chmod = 644 
  20. auth users = hdfs 
  21. secrets file = /etc/rsync.pass 
  22. strict modes = yes 
  23. hosts allow = 192.168.9.53 
  24. hosts deny = * 
  25. ignore errors = yes 
  26. timeout = 120 
  27.  
  28. [hbase] 
  29. path = /home/hdfs/hbase/conf/ 
  30. use chroot = no 
  31. max connections = 15 
  32. read only = yes 
  33. write only = no 
  34. list = no 
  35. uid = hdfs 
  36. gid = hdfs 
  37. incoming chmod = 644 
  38. auth users = hdfs 
  39. secrets file = /etc/rsync.pass 
  40. strict modes = yes 
  41. hosts allow = 192.168.9.53 
  42. hosts deny = * 
  43. ignore errors = yes 
  44. timeout = 120 
  45.  
  46. [native] 
  47. path=/home/hdfs/hadoop/lib/native/ 
  48. use chroot = no 
  49. max connections = 15 
  50. read only = yes 
  51. write only = no 
  52. list = no 
  53. uid = hdfs 
  54. gid = hdfs 
  55. incoming chmod = 644 
  56. auth users = hdfs 
  57. secrets file = /etc/rsync.pass 
  58. strict modes = yes 
  59. hosts allow = 192.168.9.53 
  60. hosts deny = * 
  61. ignore errors = yes 
  62. timeout = 120 

  译者注:我的配置文件中,各模块有一些重复的选项,看起来有点啰嗦。网上有很多文章,都把uid、gid、max connections、use chroot等模块选项写到了全局选项中,很多人都这样写,说明应该是可以那样写的;但我还是按照官方文档中的方法,把它们写到了模块选项中。



本文转自 li_qinshan 51CTO博客,原文链接:http://blog.51cto.com/share/560761

相关文章
|
6月前
|
安全 网络协议 Linux
sshd_conf 配置文件详解
sshd_conf 配置文件详解
91 0
|
安全 数据安全/隐私保护 Apache
|
应用服务中间件 nginx 数据安全/隐私保护
|
数据安全/隐私保护
|
Linux 数据安全/隐私保护