데이터베이스 파일에 보조 LUKS(dm-crypt) 암호화 디스크를 사용하도록 MongoDB를 설치하고 구성하기 위해 다음 셸 스크립트를 사용한 CentOS 6 VM이 있습니다.
#!/bin/bash -e
# Set up the official mongodb repository
#
sudo cat >/etc/yum.repos.d/mongodb.repo <<EOL
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
EOL
# create a keyfile that will be used for the device encryption
# key should be read-only by root only
sudo dd if=/dev/urandom of=/root/mongo-efs-key bs=1024 count=4
sudo chown root:root /root/mongo-efs-key
sudo chmod 400 /root/mongo-efs-key
# create partition on /dev/xvdc
sudo parted /dev/xvdc mklabel msdos
sudo parted /dev/xvdc mkpart primary 0% 100%
# create encrypted container in new device
sudo cryptsetup luksFormat -d /root/mongo-efs-key --batch-mode /dev/xvdc1
sudo cryptsetup luksOpen -d /root/mongo-efs-key /dev/xvdc1 mongoefs
# format and mount our encrypted volume
sudo mkfs.ext4 /dev/mapper/mongoefs
sudo mkdir -p /var/lib/mongo
sudo mount /dev/mapper/mongoefs /var/lib/mongo
# update the crypttab and fstab files with new partitions
echo "mongoefs /dev/sdb1 /root/mongo-efs-key luks" | sudo tee --append /etc/crypttab > /dev/null
sudo cp -p /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
sudo dracut -f
echo "/dev/mapper/mongoefs /var/lib/mongo ext4 defaults 0 2" | sudo tee -- append /etc/fstab > /dev/null
# Install mongoDB
sudo yum -y install mongodb-org
# set permissions for mongo on our encrypted and mapped device
sudo chown mongod:mongod /var/lib/mongo
스크립트는 예상된 작업을 수행하지만 /dev/xvdc1의 암호를 묻는 명령 프롬프트가 없으면 서버를 다시 시작할 수 없는 문제가 발생합니다. 비밀번호를 지정하지 않았기 때문에 여기서 무엇을 해야할지 모르겠습니다. 이 가이드에 따라 자동으로 잠금이 해제되고 설치될 것이라는 인상을 받았습니다.https://www.howtoforge.com/automatically-unlock-luks-encrypted-drives-with-a-keyfile그러나 그것은 진실이 아니다.
비밀번호 없이(암호화된 드라이브가 설치된 경우) 서버를 다시 시작할 수 있도록 구성을 어떻게 변경합니까?