사용자 로그인시 암호화 된 드라이브를 안전하게 자동 마운트 좋지만, 질문이 취소되었을 수 있으므로 허용

로그인하면 암호화 된 / home 디렉토리가 자동으로 마운트됩니다. 디스크 유틸리티로 포맷하고 암호화 한 두 번째 내장 하드 드라이브가 있습니다. 암호화 된 / home 디렉토리와 마찬가지로 로그인 할 때 자동으로 마운트되기를 원합니다. 어떻게해야합니까?

여기에 몇 가지 매우 유사한 질문이 있지만 답변은 제 상황에 적용되지 않습니다. 여기에서 내 질문을 닫거나 병합하고 아래 두 번째 질문을 편집하는 것이 가장 좋지만, 질문이 취소되었을 수 있으므로 허용 된 것으로 표시되지 않아야합니다.

이 솔루션 은 안전한 방법이 아니며 암호화를 우회합니다.
이를 위해서는 편집 fstab이 필요하며 부팅시 추가 암호를 입력 해야합니다 . / home을 마운트하는 것과 같이 자동적이지 않습니다.
이 질문 은 매우 유사하지만 암호화 된 드라이브에는 적용되지 않습니다. 솔루션이 내 요구에 맞지 않습니다.
여기 하나가 있지만 NTFS 드라이브 용입니다. 내 것이 ext4입니다.

솔루션에 필요한 경우 두 번째 드라이브를 다시 포맷하고 다시 암호화 할 수 있습니다. 다른 곳에서 모든 데이터를 백업했습니다.



답변

더 이상 위의 솔루션이 필요하지 않습니다.

전제 조건 :

참고 :이 방법은 암호화 된 드라이브를 수동으로 마운트하는 것보다 덜 안전합니다. 누군가 귀하의 컴퓨터에 물리적으로 액세스 할 수있는 경우, 루트 비밀번호로주의를 기울이지 않거나 컴퓨터에 여러 명의 사용자 / 게스트 계정이있는 경우, 이있는 경우이 방법은 안전하지 않습니다 . 보조 드라이브는 로그 아웃 할 때 마운트 상태를 유지하지만 시스템을 종료하지 않으므로 다른 사용자가 내용을 볼 수 있습니다.

1 부 : 보조 드라이브를 암호화하십시오.

  1. Unity 대시에서 “disks”를 입력하고 Enter 키를 누르십시오.
  2. “장치”아래에서 암호화하려는 하드 드라이브를 클릭하십시오.
  3. “볼륨”아래에서 코그 / 추가 작업 버튼을 클릭하십시오.
  4. “볼륨 포맷”을 클릭하십시오. 유형으로 “암호화, Linux 시스템과 호환 가능”을 선택하십시오. 드라이브 이름을 지정하고 강력한 암호 문구를 제공하십시오.
  5. “포맷”을 클릭하십시오

2 부 : 시스템 시작시 HDD를 자동으로 마운트합니다.

  1. “디스크”응용 프로그램을 열어두고 코 그를 클릭하십시오.
  2. “암호화 옵션 편집”을 클릭하십시오.
  3. “자동 암호화 옵션”이 켜지고 아래 메뉴가 회색으로 표시됩니다. 자동 암호화 옵션을 끕니다.
  4. 디스크를 포맷했을 때의 암호를 입력하십시오. “확인”을 클릭하십시오.

이제 컴퓨터가 부팅 될 때 자동으로 마운트되는 암호화 된 하드 드라이브가 있습니다.


답변

몇 년 전에이 답변을 썼을 때 이것이 솔루션을 구현하는 가장 좋은 방법이었습니다. 이제 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 볼륨을 자동으로 마운트해야합니다.


답변

@ johnf의 답변을 기반으로하지만 대신 mount.ecryptfs_private를 사용하십시오.

  • /home/bob/Ubuntu의 일반적인 암호화 된 홈 디렉토리 마법을 사용하여 암호화 된 (예 : SSD).
  • /media/hdd/bob_extra/장착 할 암호화 (예 : HDD) /home/bob/extra. 홈 디렉토리와 마찬가지로 로그인시 자동 마운트됩니다.
  • 두 가지 모두에 동일한 키 / 자격 증명을 사용하십시오.

그것을 만들

mkdir /media/hdd/bob_extra
cp /home/bob/.ecryptfs/Private.sig /home/bob/.ecryptfs/extra.sig
echo "/media/hdd/bob_extra /home/bob/extra ecryptfs none 0 0" > /home/bob/.ecryptfs/extra.conf

그것을 테스트

mount.ecryptfs_private extra

실행 mount하면 다음을 볼 수 있습니다.

...
/media/hdd/bob_extra on /home/bob/extra type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=12345678abcdef,ecryptfs_fnek_sig=abcdef12345678)

마운트를 해제하려면

sudo umount /media/hdd/bob_extra

자동 마운트 설정

만들기 /home/bob/bin/automount_ecryptfs.extra가되어 이미 마운트되지 않은 경우 마운트 것이다.

#!/bin/bash

MOUNT_POINT=/home/bob/extra

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  mount.ecryptfs_private extra
fi

실행 가능하게하고 ( chmod +x) 다음에 추가하십시오 /home/bob/.bashrc.

...
/home/bob/bin/automount_ecryptfs.extra

그런 다음 그놈의 시작 응용 프로그램에도 추가하십시오.


답변

암호화 된 홈 디렉토리에 스크립트를 작성하십시오. ~/scripts/mount_storage.sh:

#!/bin/bash

sudo cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file ~/keys/storage_keyfile
sudo mount /dev/mapper/storage /storage

“시작 응용 프로그램”에 추가 :

sh ~/scripts/mount_storage.sh

추가 /etc/sudoers:

%sudo   ALL= NOPASSWD: /sbin/cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file *
%sudo   ALL= NOPASSWD: /bin/mount /dev/mapper/storage /storage

/storage마운트 지점 을 작성 하고 위 스크립트에서 UUID를 변경 해야합니다 (로 찾기 blkid).


답변

이것이 인기있는 대답이 아닐까 걱정됩니다 …

암호화 자체의 보안을 우회하지 않으면 서 암호화 된 파티션을 자동으로 마운트하는 것은 불가능합니다.

자동 “의 의미 에 대해 생각 하고 자동으로 그들이 데이터를 볼 수 있음을 의미합니다.


답변

다음과 같이 진행해야합니다. 암호를 요구하면 볼륨이 마운트되어 있어도 다른 사용자가 볼륨에 액세스 할 수 없게됩니다.

1. 디스크를 열고 드라이브를 선택한 다음 LUKS 볼륨을 클릭하십시오. 톱니 바퀴를 클릭하고 “사용자 세션 기본값”을 선택 취소하십시오. “시스템 시작시 잠금 해제”및 “잠금 해제를 위해 추가 인증 필요”를 선택하십시오.

2. LUKS 볼륨 아래의 디스크 볼륨을 클릭하십시오. 톱니 바퀴를 클릭하고 “사용자 세션 기본값”을 선택 취소하십시오. “시스템 시작시 마운트”및 “사용자 인터페이스에 표시”를 선택하십시오.

볼륨을 마운트하기 위해 추가 인증을 요구할 수도 있지만,이 경우 해당 사용자에게 마운트가 자동으로 이루어지지 않습니다.