【发布时间】:2012-05-14 14:57:21
【问题描述】:
在使用 safecopy 恢复一些数据时,我注意到在挽救一些数据时,可能会意外发生系统自动挂载设备或用户意外点击 f.e. 的情况。 nautilus 中的驱动器图标。
我查看了一下源代码,只是为了好玩,决定稍微修改一下。 我包括 liblockdev 可能会在 safecopy 使用驱动器时锁定驱动器,因此理想情况下无法自动挂载。虽然这可以编译,但到目前为止它没有任何效果。 那么问题来了,是否有可能锁定设备以使 root 也无法覆盖它? (或至少不直接)或者我是否正在尝试做一些不可能的事情? 如果可能的话,至少我知道我的代码只有其他地方有问题,但原则上它应该可以工作。
【问题讨论】:
-
Root 应该能够覆盖任何东西,但是不太可能以 root 身份自动挂载;超级用户需要通过普通的
mount命令执行此操作。对于普通用户,如果使用 udisk,您可以禁止自动挂载守护进程 - 请参阅 --inhibit 选项:man.he.net/man1/udisks -
这个问题是针对特定操作系统的吗?如果是,请相应标记。
-
如果你把它锁起来,即使是root也不能访问它,那么连接它有什么意义呢?听起来你真正想要的是强制它是只读的......
-
Piskvor:我会调查关于 udisk 的问题。如果 automount 直接以 root 身份,作为提升组的成员或使用 suid root 左右,我不是,但它具有相同的效果。
-
Celada: Root 应该能够访问它,但只能从启动它的进程中访问。所以如果一个设备在没有被挂载的情况下直接访问,那么另一个进程无法挂载它并且可能会干扰。原始设备访问是只读的,但最好让其他进程远离。