VirtualBox 이미지에 LUKS 암호화 파일을 생성하려고 합니다. 암호화된 파일이 VirtualBox 공유 폴더에 있지 않으면 제대로 작동합니다.
오류 출력은 다음과 같습니다.
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.945147 s, 11.1 MB/s
WARNING!
========
This will overwrite data on test.tomb irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
Enter passphrase for test.tomb:
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 8192 1k blocks and 2048 inodes
Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
mount: /dev/mapper/tomb is write-protected, mounting read-only
mount: wrong fs type, bad option, bad superblock on /dev/mapper/tomb,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
Vagrant에서는 쉽게 재현할 수 있습니다.
방황하는 파일:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "debian/jessie64"
config.vm.synced_folder 'tombs', '/tombs'
config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get install -y cryptsetup
mkdir -p /media/tomb
cat > /test.sh <<-EOF
#!/bin/bash
cd \$1
dd if=/dev/urandom of=test.tomb bs=1M count=10
cryptsetup -y luksFormat test.tomb
cryptsetup luksOpen test.tomb tomb
mkfs.ext4 -j /dev/mapper/tomb
mount /dev/mapper/tomb /media/tomb
ls /media/tomb
umount /media/tomb
cryptsetup luksClose tomb
EOF
SHELL
end
방랑자 설정:
mkdir tombs
vagrant plugin install vagrant-vbguest
vagrant up
vagrant ssh
테스트를 받아보세요:
sudo su -
bash /test.sh /root # works fine
bash /test.sh /tombs # does not work
mount | grep tombs
보여주다:
tombs on /tombs type vboxsf (rw,nodev,relatime)
dmesg
보여주다:
[ 267.574832] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
LUKS 파일이 공유 폴더에 있을 때 이것이 알려진 제한 사항입니까? 그렇지 않다면 내가 뭘 잘못하고 있는 걸까요?
답변1
설명하신 단계를 사용하여 재현할 수 있었습니다. 공유 폴더는 게스트 추가 커널 모듈의 특수 기능이며 기능적으로 로컬 드라이브와 동일하지 않을 수 있습니다.
또한 루프백 장치 내부에 LUKS 파일 드라이브를 생성하려고 시도했지만(과거에 LUKS 파일 드라이브를 그렇게 했기 때문에) 파일 포맷도 할 수 없고 사후 확인에서 실패합니다.
나는 또한 Vagrantfile의 공유 소유자를 루트로 강제하려고 시도했는데 아무런 차이가 없는 것 같습니다. 또한 그룹 에 root
및 추가를 시도했지만 그것도 도움이 되지 않았습니다.vagrant
vboxsf
짧은 대답은 '예'입니다. 이는 "간단한" 기본 virtualbox 공유 폴더의 제한 사항인 것 같습니다. 내가 시도하지 않은 한 가지는 vagrant가 nfs 스타일 공유 폴더를 지원한다는 것인데, 이는 더 많은 노력이 필요하지만 다르게 동작할 수 있습니다.