在我们的服务器上,我们有许多需要备份代码的用户(即客户端)。他们的文件权限通常650
与用户和组有关user:user
(user
实际用户名在哪里)。
在 crontab 中,我们有一个用户 ,backup
它通过 tarsnap 备份所有所需的文件路径。问题是由于文件权限,backup
无法访问这些。我可以想到四个解决方案:
- 将 cronjob 设置为以 root 身份运行。这是最简单的解决方法,但我不知道这里是否存在安全问题。
- 创建一个我们要备份并
backup
属于的所有用户的组。设置默认权限以将所有这些用户的组设置为该组...该backup
组似乎是组名的不错选择。不过,这似乎有点困难。如何更改每个用户的默认权限,以便触摸的每个文件都有用户user
和组backup
? - 修改我们要备份的所有文件的组权限。这也很简单,但这也意味着每次触摸(即修改或创建)文件时,我们都必须修改组。不理想。
- 使文件世界可读。这是一个安全问题吗?
什么是合理的配置,以便我可以轻松备份这些文件?
刚想多了……
- 将
backup
用户添加到我希望备份的每个用户组。这解决了共享访问的问题。
在做一些研究时,似乎/var/backups
和backup
用户的语义并不清楚。放入备份似乎并不危险,/var/backups
但建议不要将其用于用户备份,因为这种行为是无证的(自 2001 年以来)。实际上,似乎很多进程都使用/var/backups
和backup
用户(“用户”是错误的词来描述这一点......因为backup
不是具有主目录的正确“用户”等)所以在推荐它的使用,我们不是在提倡新事物。