rsync安装使用教程

一、说明

自接解Linux服务器后,rsync这个东西就一直若隐若现,但也没人要求帮安装配置什么的所以也就没有研究。

但近来要推弱口令改造,发现挺多就是rsync空口令,搞不懂这是什么东西就很不舒服,所以抽空来研究一下。

二、安装

操作系统:CentOS 7

# 客户端和服务端程序都在rsync一个包里,客户机和服务机都装这个包就完事了
yum install rsync -y

三、使用

下面介绍rsync的三种使用模式:本机内复制、机器间通过ssh复制、机器间通过daemon复制。

3.1 本机内复制

本机内复制,rsync就类似于cp命令,只是参数和cp有区别。

3.2 机器间通过ssh复制

其实除了ssh还可以是rsh等,但一是不太熟二是这些东西终将被ssh取代就不管了。

机器间通过ssh复制,rsync就类似于scp命令,可从远程机复制到本机也可以从远程机复制到本机,只是参数和scp有区别。

由于传输借用的是ssh,所以一方面要明确这种模式是不需要启动rsync服务的,另一方面要明确其认证机制和两台机器间的ssh认证机器是一致的(即可以用密码也可用公钥免密等等)。

3.3 机器间通过daemon复制

配置/etc/rsyncd.conf:

cat >> /etc/rsyncd.conf << EOF
# 没在模块名下的是全局配置。模块配置的优先级高于全局配置。
# 增加名称为test的模块
[test]
# 模块根目录
path = /tmp/test
# 模块认证用户名。该用户只是rsync的和系统账号没关系。
# 如果没有下边这两个配置项,即为rsync空口令情况
auth users = myuser
# 模块认证用户名对应密码。格式为明文"username:password"
secrets file = /etc/rsyncd.passwd
# 模块ip白名单
# hosts allow = 192.168.220.129 192.168.220.130
# 模块ip黑名单
# hosts deny = 192.168.220.129 192.168.220.130
# 禁止自动列出所有模块
# list = no
EOF

配置/etc/rsyncd.passwd(其实文件名随意取决于你在/etc/rsyncd.conf中怎么配的。但格式则必须为"username:password"):

cat > /etc/rsyncd.passwd << EOF
myuser:mypass
EOF

启动rsyncd服务:

# 默认监听系统tcp 873端口
systemctl restart rsyncd

命令通过使用IP后接两个冒号(::)区分机器间通过ssh复制模式;两个冒号后接的是模块名。

原文地址:https://www.cnblogs.com/lsdb/p/13922209.html