使用 bindfs 强制用户双向操作

使用 bindfs 强制用户双向操作

我有一个名为“app”的特定操作系统用户,它运行 Dropbox。该应用程序部署(在同一台服务器中)用于多个站点。但“app”用户的 Dropbox 拥有有关所有站点的信息。

dropobox/home/app/Dropbox/Sites/siteXXX/folder为每个站点都设置了一个目录。所有 Dropbox 文件夹都由操作系统用户“app”自动创建。

但是,应用程序的每次安装都会使用 Dropbox 的内部文件夹。例如: /app/sites/siteXXX/siteData/shared/folder。应用程序的每个实例都由特定的操作系统用户运行,例如“siteXXX”。问题是我希望所有实例/app/sites/siteXXX/siteData/shared/folder都拥有700所有权siteXXX。该应用程序可以创建或编辑新文件。此外,Dropbox 用户“应用程序”应该能够继续同步....

所以...为了解决这个问题,我安装了 bindfs 并将其添加到 fstab:

/home/app/Dropbox/Sites/siteXXX/folder /app/sites/siteXXX/siteData/shared/folder fuse.bindfs force-user=siteXXX,force-group=siteXXX,perms=0700 0 0

这给了我想要的东西/app/sites/siteXXX/siteData/shared/folder:700 和 的所有权siteXXX

现在的问题是,如果我从应用程序创建一个文件,它将使用用户“siteXXX”创建。 Dropbox 很可能能够读取它(因为大多数文件默认被其他文件读取)。但如果有较新的版本,它不太可能更新它,因为该文件可能是用 644 创建的,而 Dropbox 正在使用“app”操作系统用户运行。

抱歉,解释得有点混乱。有没有什么解决方法?有没有办法,/home/app/Dropbox/Sites/siteXXX/folder无论如何我都可以将原件保留在“应用程序”用户手中?

提前致谢,

答案1

如果我理解正确的话,你应该看看--create-for-user 和 --create-with-perms 选项

相关内容