/root 目录的远程备份

/root 目录的远程备份

我正在设置一个服务器,通过 SSH(pull)进行远程备份。如何/root在不以用户身份登录的情况下复制目录root

答案1

将您的备份用户添加到为此目的创建的全新组中,并使该组成为 /root 下所有内容的组所有者

chgrp -R newgroup /root

或者制作一个小脚本,将 /root tar 到 STDOUT(例如,/usr/local/bin/tar-up-root)并配置您的 sudoers 以允许您的备份用户无密码运行该脚本:

backupuser  ALL=(root) NOPASSWD: /usr/local/bin/tar-up-root

进而

ssh backupuser@host-to-backup "/usr/local/bin/tar-up-root" > /var/tmp/remote-root-backup.tar

或者在要备份的主机上,以 root 身份从 cron 运行一个脚本,该脚本将 root 的 tar 文件上传到备份用户所拥有的文件中,模式为 600(您不希望任何其他人能够读取此 tar 文件,或者您已经削弱了 /root 的安全性),然后让备份用户只需将此文件从要备份的主机上 scp 下来即可。

这些有什么好处吗?

答案2

将您的备份用户添加到 wheel 组,它将具有 root 权限。或者将其添加到权限较低的组,并授予该组对 /root 目录及其中所有文件的读取权限。

相关内容