Rsyncd 在 Rocky Linux 上的安装与使用指南
Rsyncd 是 rsync 的守护进程模式,允许将 rsync 作为服务运行,实现持续的文件同步服务。以下是在 Rocky Linux 8/9 上安装和配置 rsyncd 的完整指南。
一、安装 rsyncd
1. 安装 rsync 软件包
sudo dnf install rsync
2. 检查版本确认安装成功
rsync --version
二、配置 rsyncd 服务
1. 创建主配置文件
sudo vi /etc/rsyncd.conf
2. 基本配置示例
# 全局配置
uid = nobody
gid = nobody
use chroot = yes
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
timeout = 300
# 模块配置
[backup]
path = /data/backup
comment = Backup Directory
read only = no
list = yes
auth users = rsyncuser
secrets file = /etc/rsyncd.secrets
hosts allow = 192.168.1.0/24
3. 创建认证文件
sudo vi /etc/rsyncd.secrets
内容格式:
用户名:密码
例如:
rsyncuser:mypassword123
设置文件权限:
sudo chmod 600 /etc/rsyncd.secrets
sudo chown root:root /etc/rsyncd.secrets
4. 创建共享目录
sudo mkdir -p /data/backup
sudo chown nobody:nobody /data/backup
三、启动和管理 rsyncd 服务
1. 启用并启动服务
sudo systemctl enable rsyncd
sudo systemctl start rsyncd
2. 检查服务状态
sudo systemctl status rsyncd
3. 防火墙配置
# 开放873端口
sudo firewall-cmd --add-port=873/tcp --permanent
sudo firewall-cmd --reload
4. SELinux 配置(如启用)
sudo setsebool -P rsync_full_access=1
四、客户端连接使用
1. 从客户端同步到服务器(推送)
rsync -avz /local/path/ rsyncuser@server::backup
2. 从服务器同步到客户端(拉取)
rsync -avz rsyncuser@server::backup /local/path/
3. 使用密码文件(避免交互输入)
创建客户端密码文件 ~/rsync.pass
:
mypassword123
设置权限:
chmod 600 ~/rsync.pass
使用密码文件同步:
rsync -avz --password-file=~/rsync.pass /local/path/ rsyncuser@server::backup
五、高级配置选项
1. 模块配置参数
参数 | 说明 |
---|---|
path |
模块对应的文件系统路径 |
comment |
模块描述信息 |
read only |
是否只读 (yes/no) |
list |
是否允许列出模块内容 (yes/no) |
auth users |
允许访问的用户名(逗号分隔) |
secrets file |
认证文件路径 |
hosts allow |
允许访问的客户端IP |
hosts deny |
拒绝访问的客户端IP |
exclude |
排除的文件/目录 |
include |
包含的文件/目录 |
2. 日志轮转配置
创建 /etc/logrotate.d/rsyncd
:
/var/log/rsyncd.log {
missingok
notifempty
sharedscripts
delaycompress
postrotate
/bin/kill -HUP `cat /var/run/rsyncd.pid 2>/dev/null` 2>/dev/null || true
endscript
}
六、安全最佳实践
-
使用非默认端口:
port = 8873
并相应调整防火墙规则
-
限制访问IP:
hosts allow = 192.168.1.100, 10.0.0.0/24
-
使用SSH隧道(更安全):
rsync -avz -e "ssh -p 22" /local/path/ user@server:/remote/path/
-
定期更换密码
-
监控日志文件:
sudo tail -f /var/log/rsyncd.log
七、故障排除
-
连接被拒绝:
- 检查服务是否运行:
systemctl status rsyncd
- 检查防火墙设置
- 验证端口是否监听:
ss -tulnp | grep rsync
- 检查服务是否运行:
-
认证失败:
- 检查
/etc/rsyncd.secrets
文件权限 - 确认用户名密码正确
- 检查SELinux状态
- 检查
-
权限问题:
- 确认共享目录权限
- 检查uid/gid设置
通过以上配置,您可以在Rocky Linux上建立稳定安全的rsync文件同步服务。根据实际需求调整配置参数,并定期检查日志和维护系统安全。
No Comments