Quando ho scritto questa risposta qualche anno fa, questo era il modo migliore per implementare la soluzione. Ora suggerirei di guardare la risposta successiva usando mount.ecryptfs_private.
Stavo anche cercando un modo per montare automaticamente un secondo volume di eCryptfs. La seguente raccolta di script e modifiche alla configurazione monterà in modo sicuro e automatico il volume all'accesso, sia sulla GUI che sulla CLI.
Esiste una soluzione migliore in fase di creazione (anche se penso che non sia del tutto pronta per il montaggio automatico al login dell'utente, in quanto tale script avrà una durata di conservazione limitata):
ecryptfs su hard disk troppo piccoli - come aggiungere collegamenti nella crittografia?
La sicurezza degli script dipende dalla crittografia della directory home con eCryptfs in modo che lo script e i file con la password per scartare la passphrase siano crittografati. Se lasci il tuo computer sbloccato con una shell root aperta dopo il login sarà possibile accedere alle password, tuttavia l'uso di sudo NOPASSWD consente il montaggio sicuro della partizione senza richiedere l'immissione della password o lasciare la passphrase in un file leggibile dall'utente.
Una carenza nota di questi script è che il secondo volume non verrà smontato al logout, in quanto tale non è particolarmente adatto per sistemi multiutente.
La mia soluzione è implementata con diverse parti, due script di shell, uno che esegue il montaggio effettivo e un altro che funge da wrapper.
Questo è lo script wrapper che convalida se la directory è già montata, in caso contrario chiamerà lo script di montaggio usando 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
Questo script chiama / home / johnf / scripts / mount_other_ecryptfs che è il seguente.
Si noti che questo script presuppone che sia abilitata la crittografia del nome file, in caso contrario sarà necessario modificare lo script per gestire il rilevamento (consultare ecryptfs-recover-private) oppure rimuovere l'opzione di montaggio ecryptfs_fnek_sig.
Quello che segue è lo script / 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}
Dovrai anche creare un file con la tua password, questo file sarà usato dal comando mount di eCryptfs:
/ Home / johnf / scripts / ecryptfs_passphrase:
passwd=secret_passphrase
Devi modificare le autorizzazioni su più file:
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
Prima di creare gli script è necessario creare una configurazione sudoers per consentire l'esecuzione dello script di montaggio utilizzando sudo senza immettere la password di sudo.
Aggiungi quanto segue a / etc / sudoers (o un file in /etc/sudoers.d). Dovrai sostituire johnf con il tuo nome utente. È necessario utilizzare un percorso assoluto per lo script di montaggio.
johnf ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs
Il passaggio finale consiste nel chiamare lo script automount_ecryptfs all'accesso.
Su Ubuntu Unity (e probabilmente gnome) usa l'applet Startup Applications per creare un nuovo programma di avvio che chiama / home / johnf / scripts / automount_ecryptfs.
Per montare automaticamente il secondo volume di eCryptfs all'accesso in una shell bash, dovrai modificare il tuo file ~ / .bashrc. Aggiungi quanto segue:
/home/johnf/scripts/automount_ecryptfs
Con questa configurazione attiva ora dovresti montare automaticamente il tuo secondo volume eCryptfs.