我有一个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用户)用户挂载文件系统。 这个选项意味着选项
nosuid
和nodev
(除非被后续选项覆盖,如在选项行owner,dev,suid
)。
问题是它需要“设备”归您所有。 在这种情况下没有设备。 设备(/ dev / loopx)由mount自动设置,这需要root权限,然后设备不属于你。
不知道如何解决这个问题,除非你可以让root用户使用losetup,然后把循环设备给你。
也可能需要在/etc/fstab
提到owner
选项才能被接受。 不知道,因为它没有logging在手册页我有,我还没有尝试过。