====== Cifrare cartelle con eCryptfs ======
Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//10/06/2015 - 09:58//** \\ \\
[[http://ecryptfs.org/|eCryptfs]] è uno dei sistemi di cifratura maggiormente utilizzati nel mondo Linux, viene fornito sottoforma di modulo del kernel e utility pergli utenti. Supportato da molte (tutte?) distribuzioni è uno strumento ideale qualora si voglia cifrare un'intera cartella. Vedremo di seguito come creare la nostra cartella cifrata e come decifrarla all'occorrenza.
===== Creazione della cartella =====
Creiamo una cartella dove vogliamo, nel nostro caso in ''/media/riservato'' e attribuiamo all'utente che ne fara' utilizzo la proprieta'.
Fatto ciò creiamo la cartella cifrata con :
sudo mount -t ecryptfs /media/riservato /media/riservato
Si avviera' il setup guidato testuale della cartella. Rispondendo a tutte le domande alla fine verra stampato a video l'elenco delle opzioni utilizzate durante il mount e verraà montata la cartella. \\
Un esempio delle opzioni:
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=xxxxxxxxxxx
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=xxxxxxxxxxx
Mounted eCryptfs
Per smontare la nostra cartella bastera' un ''sudo umount /media/riservato''.
===== Montare la cartella =====
Per montare la cartella possiamo impartire il solito comando ''sudo mount -t ecryptfs /media/riservato /media/riservato'' e rispondere a tutte le domande riguardo le opzioni di montaggio oppure creare una comoda entry in ''/etc/fstab'' come la seguente.
modificare le opzioni **ecryptfs_sig=xxxx** e **ecryptfs_fnek_sig=xxxx ** in base all'output del setup usato durante la creazione e il montaggio della cartella.
#Per /media/riservato
/media/riservato /media/riservato ecryptfs rw,user,noauto,ecryptfs_unlink_sigs,ecryptfs_fnek_sig=xxxxxxxxxxx,ecryptfs_key_bytes=16,ecryptfs_cipher=aes,ecryptfs_sig=xxxxxxxxxxx,ecryptfs_passthrough=no,key=passphrase 0 0
Dove come si puo' vedere ho copiato le opzioni riepilogate dal setup. \\
Per un elenco delle altre opzioni consultare **man ecryptfs**
===== Uno script grafico per l'ambiente Desktop =====
Lo script presuppone che sia installato YAD e che si sia configurato sudo in modo tale che il comando 'sudo mount' e 'sudo umount' non chiedano la password ([[sistema:sudo]]).
#!/bin/sh
#Configurare sudo in modo tale che il comando 'sudo mount' e 'sudo umount' non chiedano la password.
MOUNT=/media/riservato
#Controllo se la cartella e' gia stata montata e in caso chiedo se smontarla
if grep -qs $MOUNT /proc/mounts; then
echo "Cartella gia' montata ... "
umount=$(yad --title 'Area riservata' --width=320 --text='Smontare la cartella?.\n\n' --text-align='center' --center --form --field='Si, smontala:CHK' --button Ok)
YESNO=$(echo $umount | awk 'BEGIN {FS="|" } { print $1 }')
if [ "$YESNO" == 'TRUE' ]; then
echo "Smonto la cartella ed esco..."
sudo umount $MOUNT
exit 0;
fi
exit 0 ;
fi
password=$(yad --title 'Area riservata' --width=400 --text='Inserire la passphrase per \n accedere alla cartella.\n\n' --text-align='center' --center --entry --entry-label=Passphrase: --hide-text)
#Se la password e' vuota esco
if [ "$password" == '' ]; then
echo "E la sicurezza dove la mettiamo? Esco..."
exit 0;
fi
#modificare le opzioni **ecryptfs_sig=xxxx** e **ecryptfs_fnek_sig=xxxx ** in base all'output del setup usato durante la creazione e il montaggio della cartella.
sudo mount -t ecryptfs $MOUNT $MOUNT -o rw,user,users,noauto,ecryptfs_unlink_sigs,ecryptfs_fnek_sig=xxxx,ecryptfs_key_bytes=16,ecryptfs_cipher=aes,ecryptfs_sig=xxxx,ecryptfs_passthrough=no,key=passphrase:passphrase_passwd=$password