参考:https://blog.csdn.net/weixin_65690979/article/details/128975375
介绍
- 与 ssh 认证不同,rsync 协议认证不需要依赖远程主机的 sshd 服务,但需要远程主机开启 rsyncd 服务,本地 rsyncd 服务可不必开启。
- 另外,rsync 协议认证不是直接使用远程主机的真实系统账号,而是虚拟账号和虚拟密码,且可实现无需手动输入密码,同时 rsync 协议认证需要配置模块对远程同步的目录进行限制。对比 ssh 认证,rsync 协议认证安全性更高。
- rsync在rsync-daemon认证方式下,默认监听TCP的873端口。
- rsync-daemon认证方式,需要服务器和客户端都安装rsync服务,并且只需要rsync服务器端启动rsync,同时配置rsync配置文件
- 客户端启动不启动rsync服务,都不影响同步的正常进行。
服务端配置
创建用户
[root@backup ~]# id rsync
id: rsync: No such user
[root@backup ~]# useradd -s /sbin/nologin -M rsync
#(-s创建用户shell,/sbin/nologin表示不登录,—M rsync表示不创建用户rsync家目录)
创建目录
[root@backup ~]# mkdir /backup/
[root@backup ~]# chown -R rsync:rsync /backup/
创建密码文件
[root@backup ~]#echo "rsync_backup:neubla123" >> /etc/rsync.password
[root@backup ~]#chmod 600 /etc/rsync.password
配置文件
vim /etc/rsyncd.conf
# 以 rsync 用户启动进程
# 传输文件使用的用户和用户组,如果是从服务器=>客户端,要保证rsync用户对文件有读
# 取的权限;如果是从客户端=>服务端,要保证rsync对文件有写权限。
uid = rsync
gid = rsync
# 无需让rsync以root身份运行,允许接收文件的完整属性
fake super = yes
# 禁锢推送的数据至某个目录, 不允许跳出该目录
# 允许chroot,提升安全性,客户端连接模块,首先chroot到模块path参数指定的目录
# 下,chroot为yes时必须使用root权限,且不能备份path路径外的链接文件
use chroot = no
max connections = 200 # 最大连接数
timeout = 300 # 超时时间
pid file = /var/run/rsyncd.pid # pid文件路径
lock file = /var/run/rsync.lock # 锁文件路径
exclude = lost+found/ # 剔除某些文件或目录,不同步
transfer logging = yes # 记录传输文件日志
log file = /var/log/rsyncd.log # 指定日志文件
log format = %t %a %m %f %b # 日志文件格式
ignore errors # 忽略错误信息
read only = false # 对备份数据可读写
list = false # 不允许查看模块信息
hosts allow = 192.168.42.0/24 # 只允许192.168.42.0/24段ip连接
hosts deny = 0.0.0.0/32 # 不允许所有网段ip连接
auth users = rsync_backup # 定义虚拟用户,作为连接认证用户
secrets file = /etc/rsync.password # 定义rsync服务用户连接认证密码文件路径
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 # 设置不需要压缩的文件
#### 定义模块信息
[backup]
comment = "backup dir by nebula" # 模块注释信息
path = /backup # 定义接收备份数据目录
启用服务
rsync --daemon
//关闭服务
pkill rsync
客户端配置
创建认证文件
客户端的认证文件只需要有密码即可
[root@nfs01 ~]# echo "nebula123" >> /etc/rsync.password
[root@nfs01 ~]# chmod 600 /etc/rsync.password
数据传输
交互式(需要输密码)
[root@nfs01 ~]# rsync -avzP /etc/hosts [email protected]::backup
Password:
sending incremental file list
hosts
357 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)
sent 63 bytes received 33 bytes 9.14 bytes/sec
total size is 357 speedup is 3.72
免交互式 (有/etc/rsync.password文件,不需要输入密码)
[root@nfs01 ~]# rsync - avzP /etc/hosts [email protected]::backup --password-file=/etc/rsync.password
sending incremental file list
hosts
357 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)
sent 199 bytes received 27 bytes 150.67 bytes/sec
total size is 357 speedup is 1.58
查看日志
日志文件/var/log/rsyncd.log
标签:rsync,backup,认证,etc,deamon,password,root From: https://www.cnblogs.com/hasome/p/17989629