我有一个加密的环回卷。我需要手动mount
和umount
该卷,所以我使用cryptsetup luksOpen
和cryptsetup luksClose
。
但是,在所有会话(gnome/xfce/kde/unity)下,当我调用此命令时,它会弹出 /dev/mapper 设备...
然后它允许一个用户挂载(使用密码)、访问文件并卸载该卷。
在多用户服务器中,这非常烦人(您正在处理文件,但卷正在卸载)。我希望该卷仅由 root 和所有者拥有和使用,而不是所有用户。
如何定义设备的所有权和权限?
更多信息:
- 我已尝试过
chown
但chmod
没有任何效果。 - Cryptsetup 没有任何选项可以让你这样做。
- crypttab 在启动时自动挂载不需要的文件系统(只能手动挂载)
cryptsetup 放入的权限/dev/mapper/MyEncryptedVolume
是所有者root:root
,但lrwxrwxrwx
无论我做什么(比如 chmod)都没有任何效果。
这是一个与权限/dev/mapper/MyEncryptedVolume
关联的设备( )/dev/dm-0
brw-rw----
/dev/dm-0
我已经用规则改变了权限udev
,但没有任何变化:由于符号链接,该卷仍然显示给普通用户。
谢谢
答案1
事实是,Cryptsetup 使用 Loop 设备 / Losetup 来将回送文件挂载到/dev/mapper/MyEncryptedVolume
。
udev
可以解决这个问题。
有两个选项:让 cryptsetup 选择循环设备或为此专用一个循环设备。
我选择了第二部分。
在这个例子中我使用/dev/loop5
99-myspecial.rules
在文件夹中创建一个名为/etc/udev/rules.d/
插入此内容:
KERNEL=="loop5" MODE="0600" OWNER="MyUser" GROUP="MyGroupUser" ENV{UDISKS_IGNORE}="1" ENV{UDISKS_PRESENTATION_HIDE}="1" ENV{ID_DRIVE_EJECTABLE}="0"
这告诉
udisk
(在这种情况下,女巫才是真正的麻烦制造者)忽略该卷,隐藏图标,该卷不可弹出(也就是说它不是 cdrom)。您还可以指定只有一个用户可以访问该卷。然后重启 udev 服务
然后我像这样链接循环设备:
losetup /folder/myflatfile.img /dev/loop5
然后我根据需要使用 cryptsetup 并以循环设备作为源。
希望这能对我以外的人有所帮助。