为什么“udisksctl”和“mount -o Loop”在挂载后给出不同的root权限?

为什么“udisksctl”和“mount -o Loop”在挂载后给出不同的root权限?

我正在尝试使用挂载 iso udisksctl,但其中的脚本似乎bash只有读取权限

[root@hostname ~]# udisksctl loop-setup -r -f /root/test.iso
Mapped file /root/test.iso as /dev/loop0.

[root@hostname ~]# udisksctl mount -b /dev/loop0
Mounted /dev/loop0 at /media/20190701_130215.

[root@hostname ~]# ll /media/20190701_130215/ISO-002/
total 29
-r--------. 1 root root 20504 Jun 20 07:53 install_patch.sh`

但如果我使用权限挂载,则mount -o loop权限被保留。

[root@hostname ~]# mount -o loop /root/test.iso /media/
mount: /dev/loop2 is write-protected, mounting read-only

[root@hostname ~]# ll /media/ISO-002/
total 29
-r-xr-xr-x. 1 root root 20504 Jun 20 07:53 install_patch.sh

我需要在使用后执行此脚本,并且由于一些公司限制而希望使用udisksctlinsted of 。mount -o loop

为什么它会这样?

是否可以破解此行为并通过udisksctl命令获得执行权限?

我运行的系统是内核3.10.0-862.14.4.el7.x86_64和RHEL。

编辑

更多信息:上面提到的 iso 是使用创建的超ISO从 Windows 机器。我尝试使用mk_isoLinux 中的实用程序来创建 iso,一切似乎都很好。

相关内容