내 드라이브가 cryptsetup으로 암호화되지 않는 이유는 무엇입니까?

내 드라이브가 cryptsetup으로 암호화되지 않는 이유는 무엇입니까?

나는 팔로우했다이 가이드LVM의 단일 파일 시스템을 통해 보조 드라이브를 완전히 암호화하고 싶습니다.

이것이 바로 내가 순서대로 한 일이다:

fdisk /dev/sdb # goes to interactive promt (choose defaults)
pvcreate /dev/sdb1
vgcreate vg_crypt /dev/sdb1
lvcreate -l 100%FREE -n storage vg_crypt
cryptsetup luksFormat -c aes-xts-plaint64 -s 512 /dev/mapper/vg_crypt-storage # set passphrase
cryptsetup open /dev/mapper/vg_crypt-storage storage # use passphrase
mkfs.ext4 /dev/mapper/storage
mkdir /storage
mount /dev/mapper/storage /storage
echo "cryptdevice=/dev/vg_crypt/storage:storage root=/storage" >> /etc/default/grub
echo "storage /dev/mapper/vg_crypt-storage /dev/urandom storage,cipher=aes-xts-plain64,size=256" >> /etc/crypttab
echo "/dev/mapper/vg_crypt-storage storage ext4 defaults 0 0" >> /etc/fstab
echo "this is a test" >> /storage/test
reboot

/dev/sdb1재부팅 후 암호 해독에 사용할 암호 입력 요청을 우회할 수 있음을 발견했습니다 Ctrl ^c. 나는 이것이 내가 파일 시스템에 접근하는 것을 방해할 것이라고 예상했습니다 /dev/sdb. 놀랍게도 이 파일은 완전히 읽을 수 있으며 파일은 일반 텍스트로 나타납니다.

제가 잘못 구성한 걸까요?

나는 이것을 발견했습니다 :

cd /storage
df .
Filesystem .....
/dev/mapper/othervg_root .... (on sda!)

따라서 이 디렉토리는 내 SDA의 LVM에 존재합니다. 하지만 /dev/mapper/storage에 설치하면 /storage해당 디렉토리를 에 넣을 것이라고 생각했습니다 sdb1. 여기서 무엇을 놓치고 있는지 잘 모르겠습니다.

그래서 로그인하는 데 필요한 비밀번호가 /dev/mapper/storage존재하지 않는다는 것도 알아차렸습니다. 그래서 나는 들어가서 /storage재부팅했습니다. 이번에는 암호를 입력하고 /dev/mapper/storage 그것이 존재한다는 것을 알았고 /storage거기에 있었지만(방금 삭제했음에도 불구하고) 여전히 논리 볼륨에 있었습니다 sda. 혼란스러워요.

lsblk이제 저장을 위한 마운트 지점이 없다는 것을 알았습니다 . 그래서 나는 예전처럼 다시 말에 올라탔다. 이제 df /storage파일 시스템 이 로 나타납니다 /dev/mapper/storage. 이번에는 재부팅하고 비밀번호를 입력했습니다. /storage다시 잘못된 파일 시스템에서. 어떤 이유로 시작 시 설치가 잘못되었습니다. etc 파일의 내용이어야 합니다.

/etc/*tab 파일의 매뉴얼 페이지를 읽고 몇 가지 사항을 변경했습니다.

파일 시스템 테이블:

/dev/mapper/vg_crypt-storage /storage ext4 defaults 0 0 # add the '/' in /storage

비밀번호 테이블:

storage /dev/mapper/vg_crypt-storage none cipher=aes-xts-plain64,size=512
# changed size to match key in cryptsetup
# changed key to none (/dev/urandom is something particular to swap i guess)
# removed uneccesary 'storage' in key=val list. I saw 'root' in the guide and thought i needed the name of my crypto device

나는 그것이 무엇을 하고 있는지 몰랐기 때문에 Grub에서 해당 줄을 제거했습니다. sdb1명령을 사용하여 모든 LVM 항목을 제거한 다음 {lv,vg,pv}remove파티션을 삭제했습니다 sdb1. 파일에서 이 줄을 일시적으로 주석 처리 /etc/*tab하고 재부팅했습니다.

마지막으로 파티션, LVM 체계, ext4 파일 시스템을 재설계하고 /etc/*tab파일에서 두 줄의 주석 처리를 제거했습니다.

이제 재부팅하면 부팅 문제가 발생하여 패닉 모드가 됩니다.

journalctl -xb나에게 몇 가지 특이한 대사를 보여주었다:

.... kernel: EXT4-fs (dm-3): VFS: Can't find ext4 filesystem
.... systemd[1]: Failed to mount /storage

로컬 파일 시스템 종속성, 파일 시스템 레이블 재지정, 로컬 SELinux 정책 변경 사항 마이그레이션과 관련된 다른 오류도 있습니다. 그러나 이것이 완전히 관련되어 있는지는 확실하지 않습니다.

답변1

알아냈어 우후!

문제는 /etc/fstab.

내 일반 sda파티션은 다음과 같이 마운트됩니다.

/dev/mapper/vg_sda-root /     ext4 defaults 0 0
/dev/mapper/vg_sda-swap swap  ext4 defaults 0 0
/dev/mapper/vg_sda-home /home ext4 defaults 0 0

그래서 자연스럽게 나는 그 계획을 따르고 내 것을 추가했습니다:

/dev/mapper/vg_crypt-storage storage ext4 defaults 0 0

이 줄의 문제는 첫 번째 필드입니다.FS_사양에 설명된 대로fstab(5) 매뉴얼 페이지. "이 필드는 마운트할 블록 특수 장치 또는 원격 파일 시스템을 설명합니다."

crypttab은 fstab보다 먼저 처리되기 때문에 해독된 장치는 /dev/mapper/storage원래 LVM 매핑 장치 이름이 아닌 장치 이름으로 액세스 할 수 있습니다 /dev/mapper/vg_crypt-storage.

그래서 내 줄을 /etc/fstab다음과 같이 변경합니다.

/dev/mapper/storage storage ext4 defaults 0 0

/etc/fstab그런 다음 올바른 암호 해독 장치를 /storage.

재부팅하고 암호 문구를 취소( 3회)하여 패닉 모드로 들어가는 방식 Ctrl ^C으로 테스트했습니다 . 여기서는 암호화 장치가 존재하지 않으므로 수동으로 암호를 해독하고 설치해야 합니다.

제가 명확하게/정확하게 설명했다고 생각하는데, 혹시 빠진 부분이 있으면 정정해주세요!

관련 정보