我将在两个two服务器之间设置rsync。我的目标是在安全库中备份来自我的主服务器的数据,以防主服务器崩溃。我的问题涉及为rsync目的在主服务器上设置用户帐户。
出于明显的原因,我不想在这里使用我的“根”用户帐户。因此,我的目标是建立另一个帐户,将只用于rsync的目的。据我所知,这个用户将需要对我需要传输的所有文件(apache配置、用户linux文件、www-data)拥有读取权限。
如何最好地设置这样的权限?我是否应该授予rsync用户根权限,或者是否有任何更安全的方法来为此类备份创建用户?
发布于 2015-09-24 10:38:21
如果连接两个服务器的网络是安全的(例如,在您的办公室的本地网络),那么您可以在守护进程模式下使用rsync作为root连接。这样,您就不会使用ssh来建立连接。
在辅助系统上,创建一个包含以下内容的文件/etc/rsyncd.conf:
[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,例如:
backupuser:thisisasecretpassword使文件只能通过根用户读取:
# 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,并通过执行以下操作将复制所需的任何内容发送到次要主机:
# rsync -ai /var/www/ backupuser@secondary-host::all/var/www/在这种情况下,Rsync会向您询问秘密密码。
https://serverfault.com/questions/724485
复制相似问题