备份脚本权限问题

备份脚本权限问题

我有一台服务器,其中有一个名为的用户deploy-user,并编写了一个备份脚本来备份与该用户关联的多个网站。但是,我尝试备份的网站之一的目录/home/usera/web/www.example.com/some/random_dir属于apache-data-user.

我将授予什么权限deploy-user才能备份该目录。我所知道的选项是:

  • 将脚本运行为root,我真的不想这样做。
  • apache-data-user和添加deploy-user到同一组。但随后apache-data-user将拥有许多权限。

有人建议备份此目录的最佳方法吗?

答案1

在 /etc/groups 中找到默认的 apache 用户组

并将部署用户添加到该组

答案2

如果您不想将deploy-user和apache-data-user放入同一组,那么前交叉韧带最适合你。

答案3

选项 2 绝对是最佳选择,除非您想使用 ACL。请注意,这样的组可能只需要对您所引用的目录的读取权限。

另一种选择是使用 sudo 为部署用户提供一些非常受限制仅以 root 身份执行备份操作的权限。

答案4

如果你有访问控制列表启用,授予阅读及其内容的deploy-user权利。/home/usera/web/www.example.com/some/random_dir要启用 ACL,您可能需要将该acl选项添加到文件系统的条目/etc/fstab并安装您的发行版acl软件包。

在 Linux 下,以下命令赋予deploy-user读取和遍历以 为根的整个层次结构的权限/home/usera/web

setfacl -d -m user:deploy-user:rx -R /home/usera/web
setfacl -m user:deploy-user:rx -R /home/usera/web

相关内容