Abd*_*el5 6 security rsync user-permissions
我将在两个网络服务器之间设置 rsync。我的目标是从我的主服务器上备份数据,以防主服务器崩溃。我的问题与在主服务器上为 rsync 目的设置用户帐户有关。
出于显而易见的原因,我不想在这里使用我的“root”用户帐户。因此,我的目标是设置另一个仅用于 rsync 目的的帐户。据我了解,该用户需要对我需要传输的所有文件(apache 配置、用户 linux 文件、www-data)具有读取权限。
如何最好地设置此类权限?我应该授予 rsync 用户 root 权限还是有任何更安全的方法来为此类备份创建用户?
如果连接两台服务器的网络是安全的(例如您办公室的本地网络),那么您可以在守护程序模式下使用 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/
Run Code Online (Sandbox Code Playgroud)
现在创建一个文件,/etc/rsyncd.secrets
例如:
backupuser:thisisasecretpassword
Run Code Online (Sandbox Code Playgroud)
使该文件只能由 root 读取:
# chown root /etc/rsyncd.secrets; chmod 400 /etc/rsyncd.secrets
Run Code Online (Sandbox Code Playgroud)
现在您需要确保 rsync 作为守护进程启动;这取决于您的发行版,对于 Debian,您可以编辑该行/etc/default/rsync
并将其更改RSYNC_ENABLE
为RSYNC_ENABLE=true
and run /etc/init.d/rsync start
(如果正在运行 systemd,则运行systemctl enable rsync; systemctl start rsync
)。
现在,您可以在主要主机上运行 rsync 并将需要复制的任何内容发送到辅助主机,例如:
# rsync -ai /var/www/ backupuser@secondary-host::all/var/www/
Run Code Online (Sandbox Code Playgroud)
在这种情况下,Rsync 会要求您提供秘密密码。
归档时间: |
|
查看次数: |
12557 次 |
最近记录: |