我有一个带有 LUKS 加密分区的外部驱动器。由于该设备是外部 USB 设备,我并不总是需要它,所以我只想按需解密和自动挂载。我可以轻松地使用 in 在解密的分区上自动挂载文件系统x-systemd.automount
。/etc/fstab
但是,我无法按需解密分区。我尝试了两种不同的方法:
我添加了行
mnt-usb-crypt UUID=<UUID> /path/to/keyfile luks
到
/etc/crypttab
。但是,现在分区是总是解密,即使我没有在中指定挂载点/etc/fstab
。我修改
/etc/crypttab
并添加了noauto
选项:mnt-usb-crypt UUID=<UUID> /path/to/keyfile luks,noauto
现在,根本没有 systemd 设备,预期的
dev-mapper-mnt-usb.device
不存在。
根据的手册页crypttab
,没有类似x-systemd.automount
加密设备的选项。
是否有可能配置 systemd 仅在访问时解密设备?
答案1
问题中的选项 2 确实有效,但您必须在和中对加密设备使用相同的/etc/crypttab
名称/etc/fstab
。
/etc/crypttab
如下所示:
# <name> <device> <password> <options>
mnt-usb-crypt UUID=<device-uuid> /path/to/key luks,noauto
/etc/fstab
如下所示:
# <file system> <dir> <type> <options> <dump> <pass>
/dev/mapper/mnt-usb-crypt /mnt/usb btrfs defaults,noauto,x-systemd.automount 0 2
请注意,如果您使用解密文件系统的 UUID 而不是路径/dev/mapper/mnt-usb-crypt
,则 systemd 无法确定要解密的设备。但如果您使用上述设备名称,则设备将按预期自动解密和挂载。
一个不同的解决方案是明确指定要求用于 systemd crypt 设备。