答案1
我设置了一个环回设备
除非您使用非常古老的内核,否则这不再是必要的 - 正常的安装过程会隐式生成循环设备。
设备正常,但只能 root 写入。
循环设备上的权限不会影响已安装文件系统上的权限。它也不影响谁可以实际挂载文件。
需要 root 来创建设备不是问题,但安装后对于普通用户必须是可写的。
这文件系统权限源自您挂载的实际数据。某些文件系统(例如 FAT)具有可以附加 UNIX 权限的选项。其他文件系统(例如 ext)则不然。
我想写入设备中包含的文件系统
那么你将无法通过使用循环设备来解决这个问题。 (另外,请阅读XY问题。你的 X 是“所有用户应该能够从文件系统读取”,你的 Y 是“我认为我需要一个循环设备”,毫不奇怪,这不起作用,你只询问 Y,而不是开始询问 X) 。
正如注释中所写,您可以chown/chmod
(以 root 身份)在安装后让所有用户读取它,从而更改文件系统的内容。这是最简单的解决方案。
对于“我想挂载 ext4 文件系统,但透明地覆盖挂载上的所有内容的权限”没有简单的解决方案。至少据我所知没有。
从man mount
:
循环装置
另一种可能的类型是通过环装置安装。 [...]如果没有提到明确的循环设备(但只给出了选项“-o循环”),那么mount将尝试找到一些未使用的循环设备并使用该设备[...]
挂载命令自动创建循环设备如果未指定文件系统类型或 libblkid 已知文件系统,则来自常规文件,例如:
mount /tmp/disk.img /mnt mount -t ext4 /tmp/disk.img /mnt
这种类型的挂载知道三个选项,即
loop
、offset
和sizelimit
,它们实际上是 losetup(8) 的选项。
(除了特定于文件系统类型的选项之外,还可以使用这些选项。)