rsync:重要的安全参数

时间:2023-03-08 16:46:56

--------------------------------------------------------------------------------------------------------------------------------

list = 【true】|  false:基本的防护,隐藏模块名字

ignore nonreadable = 【false】| true :基本防护, 是否隐藏对当前客户端用户来说不可读取的模块内容。强列建议设置!

--------------------------------------------------------------------------------------------------------------------------------

write only =【false】| true :强力防护:true的话,第一,无法列出模块内容;第二,也无法下载任何模块内容。

             如果read only 为false的话,此时客户端  仅仅具有 上传写入的权限!

             如果read only 为true【默认就是true】,服务器此时是完全不可用的!

read only = 【true】| false:强力防护:true的话,无法上传写入。

               如果 write only 为false的话【默认就是false】,客户端 仅仅具有列出、下载的权限!

               如果write only 为true的话,服务器此时是完全不可用的!

**** 综上****

write only 【false】 + read only 【true】 : 只读下载服务,如中心发布服务

write only 【false】 + read only 【false】 : 完全的上传下载服务,如中转交换服务

write only 【true】 + read only 【true】 : 服务不可用

write only 【true】 + read only 【false】 : 只上传写服务,如:集中数据收集

--------------------------------------------------------------------------------------------------------------------------------

auth users = 【】:连接认证用户列表,用户不要求是真实存在的os用户。

        or  虚拟用户名可以包括shell的通配符。注意:是名称可以包含特殊通配字符而已,而不是匹配很多客户端用户!

        or  连接的“@用户”列表,此时,要求用户是真实存在的;

        or  连接的“@组”列表,也要求是真实的用户组。

      格式:逗号、或空白 分隔 。

      特别的:在用户后面可以指定特殊的模块权限:{ :rw | :ro },该设置会覆盖模块的read only设置!

          另外,列表的顺序是重要的,匹配第一个就会终止后续用户列表的配置。

strict modes = 【true】| false : 是否检查secrets file 的文件权限是不是600的严格模式。      

secrets file =【】:上述auth users的密码。默认【无】,表示不需要密码。

--------------------------------------------------------------------------------------------------------------------------------

reverse lookup =【true】| false: DNS 反查,ip -> hostname。建议禁止!

forward look up =【true】| false :DNS 正查,hostname -> ip

hosts allow = 【】:主机允许列表(空格或逗号分隔),高优先级

hosts deny = 【】:主机禁止列表(空格或逗号分隔),低优先级。建议总是加上一个*来禁止异常的任何连接

         

**** 特别的****:如果主机既不在hosts allow也不在hosts deny,则根据默认策略,允许连接。

主机的格式有五种:

  ip、ip/netmask、ip/n、hostname、通配符hostname

--------------------------------------------------------------------------------------------------------------------------------

uid = 【nobody】:rsync daemon 的操作系统os user身份,用于落地。注意:必须是os中真实存在的

gid = 【nobody】:rsync daemon 的操作系统os group身份,用于落地。注意:必须是os中真实存在的。

           特殊的,你可以设置为“*”,表示上述uid用户默认的group身份。

fake super = 【false】| true:当rsync daemon 以非root用户运行时,要求rsync daemon 仍然存储完全的文件属性

incoming chmod:修改上传写入文件\文件夹的 权限属性

outgoing chmod:修改下载文件、文件夹的权限属性

         以上2个属性的设置语法和os的chmod命令语法相同。

--------------------------------------------------------------------------------------------------------------------------------

refuse options = 【】:rsync daemon 拒绝执行的客户端请求选项,作为一个额外的安全措施。

        如果客户端请求选项被拒绝,则连接就此中断。

        格式:空白分隔的一系列选项的 全称(或缩略的单字母),也支持通配符

        提示: 粗暴的拒绝客户端的 compress 选项 可以更优雅的使用 [ dont compress = * ] 来代替!

dont compress = 【】:不压缩指定的文件列表

        格式:空格分隔

        支持通配符

--------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------