如何为 cryptsetup 制造的设备设置所有者和权限?

Ant*_*uez 4 filesystem encryption permissions system udev

我有一个加密的环回卷。我需要手动mountumount音量,所以我使用cryptsetup luksOpenand cryptsetup luksClose

但是,在所有会话(gnome/xfce/kde/unity)下,当我调用此命令时,它会弹出 /dev/mapper 设备...

然后它让一个用户挂载(使用密码)、访问文件和卸载卷。

在多用户服务器中这很烦人(您正在处理文件并且正在卸载卷)。我希望该卷仅由 root 和所有者而非所有用户拥有和使用。

如何定义设备的所有权和权限?

更多信息:

  • 我试过chownchmod接近女巫什么也没给。
  • Cryptsetup 没有任何选项可以让您这样做。
  • crypttab 在引导时自动挂载文件系统是不需要的(仅手动挂载)

cryptsetup 放入的权限/dev/mapper/MyEncryptedVolume是所有者root:root但具有lrwxrwxrwx

无论我做什么(如 chmod)都不会做任何事情。

它是一个与权限/dev/mapper/MyEncryptedVolume相关联的设备 ( )/dev/dm-0brw-rw----

我已经更改了/dev/dm-0withudev规则的权限,但没有任何变化:由于符号链接,音量仍然向普通用户显示。

谢谢

Ant*_*uez 5

实际情况是 Cryptsetup 使用 Loop devices/Losetup 以便将环回文件挂载到/dev/mapper/MyEncryptedVolume.

udev 可以解决情况。

有两个选项:让 cryptsetup 选择循环设备或为此专门设置一个循环设备。

我选择了第二部分。

在这个例子中,我使用 /dev/loop5

  1. 在文件99-myspecial.rules夹中创建一个名为的文件/etc/udev/rules.d/
  2. 插入这个:

    KERNEL=="loop5" MODE="0600" OWNER="MyUser" GROUP="MyGroupUser" ENV{UDISKS_IGNORE}="1" ENV{UDISKS_PRESENTATION_HIDE}="1" ENV{ID_DRIVE_EJECTABLE}="0"

    这告诉udisk(在这种情况下,女巫是真正的麻烦制造者)忽略音量,隐藏图标,音量不可弹出(也就是它不是 cdrom)。您还指定只有一个用户可以访问该卷。

  3. 然后重启udev服务

  4. 然后我像这样链接循环设备:

    losetup /folder/myflatfile.img /dev/loop5
    
    Run Code Online (Sandbox Code Playgroud)

然后我根据需要使用 cryptsetup 并将循环设备作为源。

希望能帮助比我更多的人。