我正在build立一个服务器,通过SSH(拉)进行远程备份。 如何复制/root目录而不以root用户身份login?
将您的备份用户添加到为此目的而创build的全新组中,并使该组成为/ root下的所有组的组所有者
chgrp -R newgroup /root
或者制作一个小型的脚本,将/ root添加到STDOUT(比如说/ usr / local / bin / tar-up-root)并configurationsudoers以允许备份用户运行无密码的脚本:
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
或者在cron上运行一个脚本作为root用户,这个脚本会将根文件拷贝到备份用户和模式600所拥有的文件中(你不希望其他人能够读取这个tar文件,或者你已经削弱了/ root的安全性),然后让backupuser把这个文件从主机上取下来备份。
这些有什么好处?
将您的备份用户添加到wheel组,并且它将具有root权限。 或者将其添加到权限较低的组中,并将该组读取到/ root目录及其中的所有文件。