Kiedy kilka lat temu napisałem tę odpowiedź, był to najlepszy sposób na wdrożenie rozwiązania. Sugeruję teraz, aby spojrzeć na następną odpowiedź, używając zamiast tego mount.ecryptfs_private.
Szukałem również sposobu na automatyczne zamontowanie drugiego woluminu eCryptfs. Poniższy zbiór skryptów i modyfikacji konfiguracji bezpiecznie i automatycznie zamontuje wolumin podczas logowania, zarówno w GUI, jak i CLI.
Istnieje lepsze rozwiązanie, które jest w trakcie tworzenia (choć myślę, że nie jest jeszcze gotowe do automatycznego montażu przy logowaniu użytkownika, ponieważ taki skrypt będzie miał ograniczony okres trwałości.):
ecryptfs na zbyt małym dysku twardym - jak dodać linki do szyfrowania?
Bezpieczeństwo skryptów zależy od szyfrowania twojego katalogu domowego za pomocą eCryptfs, tak aby skrypt i pliki z hasłem do rozpakowywania hasła były szyfrowane. Jeśli pozostawisz komputer odblokowany z otwartą powłoką roota po zalogowaniu, będziesz mieć dostęp do haseł, jednak użycie sudo NOPASSWD pozwala na bezpieczne zamontowanie partycji bez konieczności wprowadzania hasła lub pozostawiania hasła w pliku czytelnym dla użytkownika.
Jednym ze znanych wad tych skryptów jest to, że drugi wolumin nie zostanie odmontowany podczas wylogowywania, dlatego nie jest szczególnie odpowiedni dla systemów z wieloma użytkownikami.
Moje rozwiązanie zostało zaimplementowane z kilkoma częściami, dwoma skryptami powłoki, z których jedna wykonuje rzeczywiste montowanie, a druga służy jako opakowanie.
To jest skrypt otoki, który sprawdza, czy katalog jest już podłączony, jeśli nie jest, to wywoła skrypt montażowy za pomocą 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
Ten skrypt wywołuje / home / johnf / scripts / mount_other_ecryptfs, co jest następujące.
Zauważ, że ten skrypt zakłada, że masz włączone szyfrowanie nazw plików, jeśli nie, konieczne będzie zmodyfikowanie skryptu w celu obsługi wykrywania (spójrz na ecryptfs-recovery-private) lub możesz usunąć opcję montowania ecryptfs_fnek_sig.
Poniżej znajduje się skrypt / 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}
Będziesz także musiał utworzyć plik z hasłem, ten plik będzie używany przez komendę eCryptfs mount:
/ home / johnf / scripts / ecryptfs_passphrase:
passwd=secret_passphrase
Musisz zmodyfikować uprawnienia do kilku plików:
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
Przed utworzeniem skryptów należy utworzyć konfigurację sudoers, aby umożliwić wykonanie skryptu instalacyjnego przy użyciu sudo bez podawania hasła sudo.
Dodaj następujące elementy do / etc / sudoers (lub pliku w /etc/sudoers.d). Będziesz chciał zastąpić johnf swoją nazwą użytkownika. Konieczne jest użycie bezwzględnej ścieżki do skryptu montowania.
johnf ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs
Ostatnim krokiem jest wywołanie skryptu automount_ecryptfs podczas logowania.
W systemie Ubuntu Unity (i prawdopodobnie gnome) użyj apletu Aplikacje startowe, aby utworzyć nowy program startowy, który wywołuje / home / johnf / scripts / automount_ecryptfs.
Aby automatycznie zamontować drugi wolumin eCryptfs podczas logowania do powłoki bash, będziesz chciał zmodyfikować plik ~ / .bashrc. Dodaj następujące:
/home/johnf/scripts/automount_ecryptfs
Po skonfigurowaniu tej konfiguracji powinieneś teraz automatycznie zamontować drugi wolumin eCryptfs.