首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rsync -设置rsync用户及其权限

Rsync -设置rsync用户及其权限
EN

Server Fault用户
提问于 2015-09-24 08:09:08
回答 1查看 16.9K关注 0票数 6

我将在两个two服务器之间设置rsync。我的目标是在安全库中备份来自我的主服务器的数据,以防主服务器崩溃。我的问题涉及为rsync目的在主服务器上设置用户帐户。

出于明显的原因,我不想在这里使用我的“根”用户帐户。因此,我的目标是建立另一个帐户,将只用于rsync的目的。据我所知,这个用户将需要对我需要传输的所有文件(apache配置、用户linux文件、www-data)拥有读取权限。

如何最好地设置这样的权限?我是否应该授予rsync用户根权限,或者是否有任何更安全的方法来为此类备份创建用户?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2015-09-24 10:38:21

如果连接两个服务器的网络是安全的(例如,在您的办公室的本地网络),那么您可以在守护进程模式下使用rsync作为root连接。这样,您就不会使用ssh来建立连接。

在辅助系统上,创建一个包含以下内容的文件/etc/rsyncd.conf

代码语言:javascript
复制
[all]
  path = /
  read only = no
  uid = 0
  gid = 0
  hosts allow = primary-host
  auth users = backupuser
  secrets files = /etc/rsyncd.secrets
  exclude = /tmp/ /var/tmp/ /var/cache/ /proc/ /sys/ /dev/ /run/ /boot/

现在创建一个文件/etc/rsyncd.secrets,例如:

代码语言:javascript
复制
backupuser:thisisasecretpassword

使文件只能通过根用户读取:

代码语言:javascript
复制
# chown root /etc/rsyncd.secrets; chmod 400 /etc/rsyncd.secrets

现在您需要确保rsync是作为守护进程启动的;这取决于您的发行版,使用Debian可以编辑/etc/default/rsync,并将RSYNC_ENABLE行更改为RSYNC_ENABLE=true并运行/etc/init.d/rsync start (如果运行systemd,则运行systemctl enable rsync; systemctl start rsync)。

现在,您可以在主主机上运行rsync,并通过执行以下操作将复制所需的任何内容发送到次要主机:

代码语言:javascript
复制
# rsync -ai /var/www/ backupuser@secondary-host::all/var/www/

在这种情况下,Rsync会向您询问秘密密码。

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/724485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档