我是 Linux 新手 :-)
我已经为此苦苦挣扎了好几天,但还没有找到解决方案。基本上我想实现以下目标:
我有一个设备,默认情况下会挂载(在启动时使用 fstab 条目)在 下名为 DATA 的某个挂载点/media/mynormaluser
。我希望通过启用“外部存储”应用程序以及将数据目录移出它现在所在的位置,将其列为 Owncloud 中的本地设备,而无需将其映射为外部存储(因为这是我存储所有数据的辅助磁盘)。我一直在寻找解决方案,例如创建符号链接,但 Owncloud 似乎无法处理它,所以我找到了使用绑定挂载的替代解决方案。问题是,Owncloud 使用 apache 用户(即www-data
),当然该用户没有在我的辅助磁盘上设置适当的权限,我不希望该用户成为所有者。因此,在研究如何创建绑定挂载时,我发现可以将挂载权限设置为与主(非绑定)挂载上设置的权限不同。这样,我应该能够访问该文件夹,而无需更改目录/文件的所有者(至少我希望如此)。我基本上遵循了这里的 2 个讨论:
- 使用 mount --bind 选项后如何卸载?
- https://superuser.com/questions/623375/mounting-directories-with-bind-different-permissions
但结果并不像我预期的那样。根据这两个讨论,我做了以下事情:
- 在 owncloud 用户数据目录中创建了一个文件夹
添加了此 fstab 条目:
device mountpoint(the folder that I just created) none bind,www-data 0 0
- 保存了 fstab
- 触发
mount -a
重新加载 fstab 条目该文件夹已正确安装,但权限仍然错误,事实上,我一打开该文件夹就收到了消息“owncloud 无法在此处写入”。
我不知道如何继续,现在我只是使用 Owncloud 中的“外部存储”选项回到原始解决方案。
非常感谢大家!
答案1
解决此问题的一种方法是将 www-data 用户添加到拥有该文件的组,然后使用 调整该文件的组权限chmod
,以便该组具有写访问权限。