−Indice
Cifrare cartelle con eCryptfs
Autore: Fabio Di Matteo
Ultima revisione: 10/06/2015 - 09:58
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.
#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 (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='<b>Smontare la cartella?</b>.\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='<b>Inserire la passphrase per \n accedere alla cartella</b>.\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