Barra laterale

sistema:cifrare_cartelle_con_ecryptfs

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.

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 (Cosa è 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

sistema/cifrare_cartelle_con_ecryptfs.txt · Ultima modifica: 18/04/2018 - 15:50 (modifica esterna)