몇 년 전에이 답변을 썼을 때 이것이 솔루션을 구현하는 가장 좋은 방법이었습니다. 이제 mount.ecryptfs_private를 사용하여 다음 답변 을 살펴 보는 것이 좋습니다 .
또한 두 번째 eCryptfs 볼륨을 자동으로 마운트하는 방법을 찾고있었습니다. 다음 스크립트 모음 및 구성 수정은 로그인시 GUI 또는 CLI에 볼륨을 안전하고 자동으로 마운트합니다.
작성 과정에 더 나은 솔루션이 있습니다 (사용자 로그인에 자동 마운트 할 준비가되지는 않았지만이 스크립트는 유효 기간이 제한적입니다).
너무 작은 하드 드라이브의 ecryptfs-암호화에 링크를 추가하는 방법?
스크립트의 보안은 암호를 풀기위한 비밀번호가있는 스크립트 및 파일이 암호화되도록 eCryptfs로 암호화되는 홈 디렉토리에 따라 다릅니다. 로그인 후 루트 셸을 연 상태에서 컴퓨터의 잠금을 해제 한 상태로두면 암호에 액세스 할 수 있지만 sudo NOPASSWD를 사용하면 암호를 입력하거나 암호 구문을 사용자가 읽을 수있는 파일에 그대로 두지 않고도 파티션을 안전하게 마운트 할 수 있습니다.
이 스크립트의 알려진 결함 중 하나는 두 번째 볼륨이 로그 아웃시 마운트 해제되지 않기 때문에 다중 사용자 시스템에 특히 적합하지 않다는 것입니다.
내 솔루션은 실제 마운트를 수행하고 다른 하나는 래퍼 역할을하는 두 개의 쉘 스크립트로 구현됩니다.
이것은 디렉토리가 이미 마운트되어 있는지 확인하는 래퍼 스크립트이며, 그렇지 않은 경우 sudo를 사용하여 마운트 스크립트를 호출합니다.
/ home / johnf / scripts / automount_ecryptfs
#!/bin/bash
MOUNT_POINT=/home/johnf/slow
grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
sudo /home/johnf/scripts/mount_other_ecryptfs
fi
이 스크립트는 다음과 같은 / home / johnf / scripts / mount_other_ecryptfs를 호출합니다.
이 스크립트는 파일 이름 암호화가 활성화되어 있다고 가정합니다. 그렇지 않은 경우 탐지를 처리하기 위해 스크립트를 수정하거나 (ecryptfs-recover-private 확인) ecryptfs_fnek_sig 마운트 옵션을 제거 할 수 있습니다.
다음은 / home / johnf / scripts / mount_other_ecryptfs 스크립트입니다.
#!/bin/bash
ENCRYPTED_VOLUME=/vol0/.ecryptfs/johnf/.Private/
MOUNT_POINT=/home/johnf/slow
PASSFILE=/home/johnf/scripts/ecryptfs_passphrase
MOUNT_PASSWORD=secret_passphrase
ECRYPTFS_SIG=`head -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
ECRYPTFS_FNEK_SIG=`tail -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
printf "%s" $MOUNT_PASSWORD | ecryptfs-insert-wrapped-passphrase-into-keyring ${ENCRYPTED_VOLUME}/../.ecryptfs/wrapped-passphrase
mount -t ecryptfs -o key=passphrase:passfile=${PASSFILE},ecryptfs_sig=${ECRYPTFS_SIG},ecryptfs_fnek_sig=${ECRYPTFS_FNEK_SIG},ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n ${ENCRYPTED_VOLUME} ${MOUNT_POINT}
또한 비밀번호가 포함 된 파일을 작성해야합니다.이 파일은 eCryptfs mount 명령에서 사용됩니다.
/ home / johnf / scripts / ecryptfs_passphrase :
passwd=secret_passphrase
여러 파일에 대한 권한을 수정해야합니다.
chmod +x /home/johnf/scripts/automount_ecryptfs
sudo chown root:root /home/johnf/scripts/mount_other_ecryptfs /home/johnf/scripts/ecryptfs_passphrase
sudo chmod a=x /home/johnf/scripts/mount_other_ecryptfs
sudo chmod 400 /home/johnf/scripts/ecryptfs_passphrase
스크립트를 작성하기 전에 sudo 비밀번호를 입력하지 않고 sudo를 사용하여 마운트 스크립트를 실행할 수 있도록 sudoers 구성을 작성해야합니다.
다음을 / etc / sudoers (또는 /etc/sudoers.d의 파일)에 추가하십시오. johnf를 사용자 이름으로 바꾸려고합니다. 마운트 스크립트에 대한 절대 경로를 사용해야합니다.
johnf ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs
마지막 단계는 로그인시 automount_ecryptfs 스크립트를 호출하는 것입니다.
Ubuntu Unity (및 아마도 gnome)에서는 Startup Applications 애플릿을 사용하여 / home / johnf / scripts / automount_ecryptfs를 호출하는 새로운 시작 프로그램을 만듭니다.
bash 쉘에 로그인 할 때 두 번째 eCryptfs 볼륨을 자동으로 마운트하려면 ~ / .bashrc 파일을 수정해야합니다. 다음을 추가하십시오.
/home/johnf/scripts/automount_ecryptfs
이 구성을 사용하면 이제 두 번째 eCryptfs 볼륨을 자동으로 마운트해야합니다.