系统:新鲜和更新的Ubuntu Xenial Xerus 16.04.2。 从一个干净的最小系统开始,只安装openssh。 为了安装backuppc 3.3.2,我做了以下操作:
apt-get install backuppc rsync libfile-rsyncp-perl par2 smbfs
剩下的工作就是安装,安装apache2和perl等依赖项。 如果您认为这可能很重要,我将编辑该问题,并将粘贴日志中的相关行。
之后,我做了备份第一台主机所需的所有configuration,几天后我又回到testing实验室检查它是如何工作的。 我必须说,backuppc是一个美丽的软件,它做了 – 甚至比我所期望的更好!
我只注意到主屏幕上的图表没有显示, 故障排除只能从apache日志中返回一条信息:
ERROR: opening '/var/lib/backuppc/log/pool.rrd': Permission denied
绝对是一个权限问题:/ var / lib / backuppc由backuppc:backuppc拥有,而Apache在www-data帐户下运行。
谷歌的错误返回这样的修复:
Resource | Actual perms | Solution's perms /var/lib/backuppc | 2750 | 2751 /var/lib/backuppc/log | 750 | 751 /var/lib/backuppc/log/pool.rrd | 640 | 754
这些权限更改解决了问题,现在显示图表。 无论如何,我仍然关心权限更改后暴露的服务的安全性。 在这种情况下,我正计划在一个安全而孤立的环境中实施,但是如果客户要求公开这个服务,或者如果他自己公开这个服务呢? 如果在生产环境中出现问题,我不希望将潜在的安全漏洞留在他们将要恢复的地方。
另一个解决scheme可能是将backuppc的用户添加到www-data组,但是从安全angular度来看,这可能更糟糕。
另一个解决scheme可能是修补由backuppc运行的代码来处理这个问题(也许,在sudoers文件中有一些行),但是我没有编程技能,也不能读取除bash脚本以外的任何东西。
所以我的问题是: 为了实现graphics显示,哪一个是最安全的解决scheme?
如果这个文件是唯一让你感到头痛的文件,那么你可以把日志文件夹移动到www-data用户可以读取它的位置,并且backuppc用户可以写入它。 然后符号链接它。
mv /var/lib/backuppc/log/ /var/log/backuppc/ chown backuppc:www-data /var/log/backuppc/ chmod 750 /var/log/backuppc/ ln -s /var/log/backuppc/ /var/lib/backuppc/log/
它会打开/ var / lib / backuppc /完全打开系统上的每个用户,特别是如果该文件夹下的子目录和文件依赖主文件夹的安全性限制为backuppc:backuppc。
关于将backuppc添加到www-data组,不会让www-data访问backuppc拥有的文件。 你的意思是否相反? 在任何情况下,我都会同意这样做,除非所有的敏感数据只能被backuppc用户读取,而不能被组读取。
为什么你遵循的指南build议改变/var/lib/backuppc/log/pool.rrd从640 – > 754(所有者和组可执行),而不是640 – > 644击败我。
注意:使用BackupPC已经有几年了,所以我不记得/ var / lib / backuppc文件夹中的权限,或者日志目录包含的其他潜在的敏感信息。
希望这可以帮助!
使用.htaccess限制graphics访问。 您只能允许使用.htaccess访问您的客户端。