如何创建一个所有人都可读的 unionfs-fuse 挂载?

如何创建一个所有人都可读的 unionfs-fuse 挂载?

我之前在 aufs-tools 中使用过 aufs2 ,运气不错,但显然这个包已经被“取代”(这个术语对于一个包来说很奇怪,它似乎只是因为不再编译而被删除,但没关系) 。

好吧,所以我想我会尝试使用 unionfs-fuse。但我一生都无法弄清楚如何让它为用户服务。

我正在使用此命令来进行统一安装:

unionfs-fuse /mnt/disk1-pool=RW:/mnt/disk3-pool=RW /mnt/union-pool

当我以 root 身份运行此命令时,我无法以 joe 用户身份访问此共享:

$ ls -al /mnt

ls: cannot access /mnt/union-pool: Permission denied
...
d??????????  ? ?    ?       ?                ? union-pool

当我以 joe 用户身份运行它时,我无法以 root 身份访问此共享。我基本上得到与上面完全相同的输出。这对我来说有点奇怪,root 就是 root。

root(显然)和 joe 用户都可以访问 /mnt/disk1-pool 和 /mnt/disk3-pool 挂载。

如果有人有关于 natty 的 aufs-tools 的任何信息,我也会感兴趣。我非常喜欢这个包,因为它很有效。

答案1

我想(但没有尝试过)该fuse选项-o allow_other(也显示在 的手册页的示例中unionfs-fuse)可能会有所帮助。

编辑

尝试这个

sudo mount -t aufs -o br:/mnt/disk1-pool=RW:/mnt/disk3-pool=RW \
    none /mnt/union-pool

这似乎也可以在没有aufs-tools包的情况下工作。

答案2

做一个笔记,以便该条目变得自足。这是基于 FUSE 的文件系统的常见问题。用户空间 FUSE 后台进程以执行它的用户的权限运行。思考过程是,默认情况下,除进程所有者之外的任何人都不应被允许访问 FUSE 挂载点下的文件。为了允许其他人,需要指定某些配置参数和安装选项。在 中/etc/fuse.conf,取消注释user_allow_other。安装时,根据要求,添加选项allow_rootallow_other

注意:请注意,在挂载期间运行 FUSE 进程root并通过它allow_other会导致不眠之夜,因为任何用户都可以获得对任何底层文件系统的 root 访问权限。

相关内容