在我们的服务器上,我们有许多需要备份代码的用户(即客户端)。 他们的文件权限通常是650 ,用户和用户组是user:user ( user是实际的用户名)。
在crontab中,我们有一个用户backup ,通过tarsnap备份所有需要的文件path。 问题是,由于文件权限, backup无法访问这些。 我可以想到四个解决scheme:
backup所有用户都属于的组。 设置默认权限,将所有这些用户的组设置为该组… backup组似乎是一个组名的好select。 这似乎有点困难。 如何更改每个用户的默认权限,以便每个碰到的文件都具有用户user和组backup ? 什么将是一个合理的configuration,以便我可以轻松地备份这些文件?
只是想到了一个…
backup用户添加到每个我希望备份的用户组。 这解决了共享访问的问题。 在做一些研究的时候,好像/var/backups的语义和backup用户不清楚。 在/var/backups放置备份似乎并不危险,但由于该行为没有logging(从2001年开始),所以build议不要将其用于用户备份。 实际上,很多进程使用/var/backups和backup用户(“用户”是错误的词来描述这个虽然…因为backup不是一个适当的“用户”与主目录等)所以在推荐使用它的时候,我们并不提倡新的东西。
我想你应该真的只是在root下运行cronjob
原因:
您将避免由于用户设置权限为700的非备份文件。例如,ssh密钥必须具有此权限,或者如果我没有记错,SSH拒绝使用它们。 在root下进行备份时,您将始终知道您复制了所有文件。
如果您让用户成为同一个备份组的一部分,他们将能够访问彼此的文件。 我认为使用backup组重新configuration导致的可能的安全问题太多,而不是简单地将cronjob用于root用户。