【问题标题】:possible to lock device even for root?即使是root也可以锁定设备?
【发布时间】: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 应该能够访问它,但只能从启动它的进程中访问。所以如果一个设备在没有被挂载的情况下直接访问,那么另一个进程无法挂载它并且可能会干扰。原始设备访问是只读的,但最好让其他进程远离。

标签: c linux locking device


【解决方案1】:

您可以让所有系统都尝试将软链接挂载到指定的设备,这样每当您想使其脱机工作时,您只需删除软链接并在完成后替换它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    相关资源
    最近更新 更多