如何为rsyncd.conf增加一个module

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文件

您可以按照以下步骤自行设置 rsyncd.service: 1. 打开终端并使用 root 或具有管理员权限的用户登录到您的系统。 2. 确保您已经安装了 rsync 软件包。如果没有安装,请运行适用于您的 Linux 发行版的适当命令来安装它。例如,在 Ubuntu 上,您可以运行以下命令: ``` sudo apt-get install rsync ``` 3. 打开 rsyncd.conf 文件以编辑 rsync 服务器的配置。该文件通常位于 `/etc/rsyncd.conf` 或 `/etc/rsync/rsyncd.conf`。您可以使用任何文本编辑器进行编辑。 4. 在 rsyncd.conf 文件中,您可以添加或修改以下示例配置,根据您的需求进行自定义: ``` uid = nobody gid = nogroup use chroot = yes max connections = 10 pid file = /var/run/rsyncd.pid [my_module] path = /path/to/your/folder comment = My Rsync Module read only = no list = yes auth users = your_username secrets file = /etc/rsyncd.secrets ``` - `uid` 和 `gid` 指定 rsync 服务器进程的用户和组身份。在上面的示例中,我们将其设为 `nobody` 和 `nogroup`。 - `use chroot` 设置为 `yes`,以限制 rsync 服务器在指定路径下工作。 - `max connections` 指定同时允许的最大连接数。 - `pid file` 指定 rsync 服务器进程的 PID 文件路径。 `[my_module]` 是您为 rsync 服务器指定的模块名称,您可以根据需要更改它。后续的配置是关于该模块的设置,其中包括路径、注释、读写权限、用户验证和密钥文件等。 5. 保存并关闭 rsyncd.conf 文件。 6. 创建一个用于验证用户的 secrets 文件。在上面的示例中,我们将其设为 `/etc/rsyncd.secrets`。运行以下命令来创建该文件: ``` sudo touch /etc/rsyncd.secrets sudo chown root:your_username /etc/rsyncd.secrets sudo chmod 600 /etc/rsyncd.secrets ``` 7. 编辑 secrets 文件并添加用户和密码。每行一个用户和密码的组合,使用空格分隔。例如: ``` your_username:your_password ``` 请确保只有 root 用户能够读取该文件,以保护用户凭据的安全性。 8. 启动 rsync 服务器并设置为开机启动。运行以下命令: ``` sudo systemctl start rsyncd.service sudo systemctl enable rsyncd.service ``` 现在,rsync 服务器将在您的系统上启动,并在启动时自动启动。 请注意,这只是 rsync 服务器的基本设置步骤。根据您的需求,您可能需要进一步配置防火墙规则、限制访问、使用 SSL 加密等。请参考 rsync 官方文档以获取更多详细信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值