使用 cryptsetup luksOpen 跳过中间映射

使用 cryptsetup luksOpen 跳过中间映射

我正在像这样安装一堆加密磁盘

cryptsetup luksOpen some_source some_mapping &&
mount /dev/mapper/some_mapping /some_mountpoint

如何抽象掉中间映射?

我想我可以做这样的事情:

uuid=$(sudo some_device |head -n1)
some_mapping=$uuid
 cryptsetup luksOpen some_source $some_mapping &&
    mount /dev/mapper/$some_mapping /some_mountpoint

并将其放入脚本中。

有没有更好的办法?我还可以确保umounting 自动删除中间映射吗?

答案1

是的,我为此使用脚本,因为有时我也会使用 LVM 来增长我的加密卷。我使用这样的脚本;

#!/bin/bash

set -e
trap 'echo "ERROR: $BASH_SOURCE:$LINENO $BASH_COMMAND" >&2' ERR

M="$1"
C=$(mount | grep -c "$M" || true)
if [ "$C" -gt 0 ] ; then
    echo "/media/$M already mounted" >&2
    exit 1
fi
vgimport "vg_$M"
vgchange -ay "vg_$M"
cryptsetup luksOpen "/dev/vg_$M/lv_$M" "crypt_$M"
if [ ! -d "/media/$M" ] ; then
    mkdir "/media/$M"
fi
mount "/dev/mapper/crypt_$M" "/media/$M"

答案2

我试过

   mount the_encrypted_lv the_mount_point

它要求输入密码并正确解密并安装该卷。

mount然后显示安装点和自动生成的中间映射。 umount然后将两者都删除。

有时天真的事情会起作用。

相关内容