在Linux上无需提升权限即可将文件系统挂载到本地目录的解决方法

我有一个ext3文件系统坐在一个文件,我想要将其挂载到本地目录没有sudo或任何提升的权限。 为什么? 我正在创build一个用于自动化testing的小文件系统。 自动化testing运行在我不能控制的机器上,所以添加到sudoers上有一些障碍。

以下是我创build文件系统的方式:

$ dd if=/dev/zero of=./50MB_partition count=102400 $ mkfs.ext3 -F 50MB_partition 

如果我有权限,我现在可以像这样挂载它:

 $ mkdir small_partition $ sudo mount 50MB_partition ./small_partition 

看起来,因为我拥有文件系统和挂载点,所以没有任何安全风险让我挂载这个。 我明白什么是限制我没有sudo调用挂载; 那里不需要解释。 我想知道的是,是否有一个解决方法,允许我使用我的文件系统进行testing?

mount需要mount()[在sys / mount.h中定义],这又需要CAP_SYS_ADMIN,所以你不能在没有fstab条目或者sudo的情况下使用mount()。

可能要查看熔丝(用户空间中的文件系统)[ http://fuse.sourceforge.net/ ]

有一个选项可以挂载,做到这一点, owner ,这也意味着其他选项,以防止违反安全。

owner

如果他是设备的所有者,则允许普通(即非root用户)用户挂载文件系统。 这个选项意味着选项nosuidnodev (除非被后续选项覆盖,如在选项行owner,dev,suid )。

问题是它需要“设备”归您所有。 在这种情况下没有设备。 设备(/ dev / loopx)由mount自动设置,这需要root权限,然后设备不属于你。

不知道如何解决这个问题,除非你可以让root用户使用losetup,然后把循环设备给你。

也可能需要在/etc/fstab提到owner选项才能被接受。 不知道,因为它没有logging在手册页我有,我还没有尝试过。