我想使用 rsnapshot 将我的本地计算机以及两台远程计算机备份到便携式存储设备。我的计划是rsnaphot
在本地计算机上使用,backup
在远程计算机上创建一个用户,并让我的本地 rootbackup
通过 ssh 公钥访问该帐户。我不想启用 root 登录,我认为这可能是一种安全功能。
那么问题来了:远程备份用户应该能够读取尽可能多的文件。我该如何实现这一点?我可以将此用户添加到每个现有组中,这样他就可以读取每个组可读的文件。但这样一来,该用户也可以写入、删除……这些文件。或者我可以将每个文件的组更改为backup
或类似名称,但这当然太具侵略性,而且非常疯狂。
将本地 root 的公钥复制到远程 root 帐户并启用 root 登录是最简单的方法,对吧?我应该这么做吗?
如何正确完成此操作?
答案1
http://www.rsnapshot.org/howto/using-rsnapshot-and-ssh.html (网络档案)对我帮助很大。我最终root
在远程机器上使用,并在本地机器上使用 root 权限(当然sudo
是通过)。
这个想法是拥有多个密钥,并将密钥限制为某些命令。例如,我配置了我的远程主机,使其不允许root
登录,但允许执行某个命令(在我的情况下,我认为它是 rsync,我不得不承认我只是validate-rsync
按照链接文档中的建议使用了脚本,没有想太多)如果使用公钥进行身份验证。所以即使有人有访问我的本地root
帐户,无法直接登录(是的,他也许可以 rsync 损坏的文件等,还会损坏等等allowed_keys
)。
目前,我认为这是可用性和安全性之间的最佳权衡。