"마운트"만 사용하여 cryptsetup 컨테이너를 마운트하는 방법은 무엇입니까?

"마운트"만 사용하여 cryptsetup 컨테이너를 마운트하는 방법은 무엇입니까?

다음을 통해 암호화된 컨테이너를 만들었습니다.

#!/bin/bash
dd if=/dev/zero of=$1 bs=1 count=0 seek=$2
MAPPER=$(mktemp -up /dev/mapper)
LOOPDEV=$(losetup --find --show $1)
cryptsetup luksFormat $LOOPDEV
cryptsetup luksOpen $LOOPDEV $(basename $MAPPER)
mkfs.ext3 $MAPPER
cryptsetup luksClose $MAPPER
losetup -d $LOOPDEV

즉, 예를 들어 이 스크립트에 할당된 파일에는 container암호화된 ext3 파일 시스템이 포함됩니다 cryptsetup luksFormat.

그것을 설치하기 위해 현재 다음과 같은 다른 스크립트를 사용합니다 dm.mount container /mnt/decrypted.

#!/bin/bash
set -e
MAPPER=$(mktemp -up /dev/mapper)
LOOPDEV=$(losetup --find --show $1)
cryptsetup luksOpen $LOOPDEV $(basename $MAPPER) || losetup -d $LOOPDEV
mount $MAPPER $2 || (
  cryptsetup luksClose $MAPPER
  losetup -d $LOOPDEV
)

그것을 제거하십시오 dm.umount /mnt/decrypted:

#!/bin/bash
set -e
MAPPER=$(basename $(mount | grep $1 | gawk ' { print $1 } '))
LOOPDEV=$(cryptsetup status $MAPPER | grep device | gawk ' { print $2 } ')
umount $1
cryptsetup luksClose $MAPPER
losetup -d $LOOPDEV

중복성이 많아 루프 장치와 매퍼를 수동으로 검색해야 하며 둘 다 익명으로 유지될 수 있습니다. mount -o luks ~/container /mnt/decrypted(암호 입력 프롬프트) 및 umount /mnt/decrypted간단한 방법 과 같은 작업을 수행하는 방법이 있습니까 ?


편집하다기본적으로 저는 위의 스크립트에 만족합니다(비록 오류 검사가 개선될 수는 있지만...).

내가 작성한 스크립트를 사용하는 것과 같은 마운트 옵션을 어떻게 구현합니까 -o luks=~/container?-o loop ~/loopfile

다시 작성하지 않고도 구현할 수 있나요 mount? 아니면 구현이 가능한가요 -t luks -o loop ~/container?

답변1

실제로 mount에서 배운 대로 수정이 가능합니다 . 하지만 이로 인해 호출이 이루어질지는 mount.ntfs-3g의문입니다 . 여기에서 수정하거나 실제 문서를 인용해 주시기 바랍니다. 특히 이 옵션은 처리되었으므로 더 이상 필요하지 않습니다 .mount -t sometypemount.sometype $DEV $MOUNTPOINT $OPTIONS-o looplopsetup

/sbin/mount.crypto_LUKS루프 장치 부분을 제거하고 스위치만 사용 하십시오 -o loop. 이 내 꺼야 /sbin/mount.crypto_LUKS:

#!/bin/bash
set -e
if [[ $(mount | grep ${2%%/} | wc -l) -gt 0 ]]; then
  echo "Path $2 is already mounted!" >&2
  exit 9
else
  MAPPER=$(mktemp -up /dev/mapper)
  cryptsetup luksOpen $1 $(basename $MAPPER)
  shift
  mount $MAPPER $* || cryptsetup luksClose $(basename $MAPPER)
fi

이제 실행 mount -o loop ~/container /mnt/decrypted하면 mount비밀번호를 입력하라는 메시지가 표시되고 컨테이너가 마운트되고 컨테이너가 닫힐 때 루프 장치가 자동으로 해제됩니다. 해독된 파일 시스템을 마운트할 수 없는 경우 컨테이너는 다시 종료되지만 물론 수정할 수 있습니다. 또는 모든 것을 mount.

나는 이것을 수행하여 동일한 효과를 얻을 수 있기를 바랐 /sbin/umount.luks지만 umount /mnt/decrypted( 를 사용하더라도 -t crypto_LUKS) 여전히 일반적인 마운트 해제를 수행하고 컨테이너를 열어 둡니다. umount내 스크립트를 호출 할 수 있는 방법을 찾으면 dm.umount알려주시기 바랍니다... 현재 이름을 수동으로 알아내야 umount하므로 직접 호출은 권장되지 않습니다 . 최소한 루프 메커니즘이 이전에 사용된 적이 있다면 자동으로 해제됩니다.../dev/mappercryptsetup luksClose $MAPPERmount -o loop

답변2

pam_mount,소스포지에서 사용 가능에는 다른 게시자가 제공하는 스크립트의 일부 단점을 극복하는 유용한 mount.crypto_LUKS 및 umount.crypto_LUKS가 함께 제공됩니다.

관련 정보