pubblicato Lunedì 17 Luglio del 2006 alle 08:40.

Questa mattina mi son dedicato alla criptazione di file e cartelle. Ho usato due ottimi programmi Encfs e Fuse.

Installazione
Per prima cosa bisogna installare i suddetti programmi: sudo apt-get install encfs fuse-utils Successivamente deve essere caricato il modulo kernel “fuse”: sudo modprobe fuse Se volete che questo modulo venga caricato automaticamente all'avvio della macchina inserite la parola “fuse” alla fine del file “/etc/modules”.

Creazione e utilizzo del disco cifrato
Avviate la procedura di creazione del disco criptato virtuale e seguite le istruzioni con il comando: sudo encfs --pubblic ~/.cifra ~/cifra Con lo stesso comando si effettua il montaggio del disco cifrato, decriptando i dati in esso contenuti. Nel esempio di sopra la cartella “cifra/” conterrà i dati decriptati mentre la cartella “.cifra/” conterrà i dati criptati e la chiave casuale di criptazione. Purtroppo nella distro Ubuntu bisogna essere loggati come "r00t" per poter visualizzare e inserire file e directory nella cartella cifrata. Il problema viene risolto, quindi si potrà agire come normale utente, aggiungendo l'utente nel gruppo fuse: sudo adduser your_username fuse Altra soluzione di utilizzare l'opzione "--public". Il comando per smontare il disco cifrato è: sudo /usr/bin/fusermount -u cifra/

Infine un'altra nozione importante è il comando per cambiare la password del disco cifrato: encfsctl password cartella_criptata

Lo script fusencfs
Per comodità ho creato un Nautilus-script per montare e smontare comodamente attraverso delle interfaccie grafiche.

#!/bin/bash
#
# AUTHOR: Maurizio di NuvoleSparse
#
# License: GNU General Public version 2 or any later version.
# This program comes with ABSOLUTELY NO WARRANTY; for details
# see the COPYING file or visit "http://www.gnu.org/licenses/gpl.html".
# This is free software, and you are welcome to redistribute it under
# certain conditions. See the GPL license for details. 
#
# Dependence:
#				zenity
#				fuse-utils
#				encfs
#

usa_printf(){
	    inizio=0
	    fine=1024
	    p=1
	    while [ $p != ultima ]; do
		printf "${temp:inizio:fine}" |
		zenity --text-info --title="gfusencfs - \
parte $p" &
		inizio=$(( inizio+1024 ))
		fine_ipotetica=$(( inizio+fine ))
		if [ ${#temp} -lt $fine_ipotetica ]; then
		    p="ultima"
		    printf "${temp:inizio:fine}" | zenity --text-info \
	--title="gfusencfs - parte $p"
		    break
		fi
		p=$(( p+1 ))
	done
}

##main

## configura variabili
CARTELLA_CRIPTATA="$HOME/.cifra"
CARTELLA_DECRIPTATA="$HOME/cifra"

mkdir $CARTELLA_DECRIPTATA
## passphrase per la decriptazione e mount della cartella
if zenity --entry --title="gfusencfs" --text="Inserire la password:" \
--hide-text | encfs -S $CARTELLA_CRIPTATA $CARTELLA_DECRIPTATA \
&>>/tmp/gfusencfs.log; then
	## mostra la cartella decriptata
	nautilus $CARTELLA_DECRIPTATA --no-desktop

	## creazione icona di notifica
	zenity --notification --title="gfusencfs" --text="Clicca \
per smontare il disco."

	## termina tutte le applicazione aperte nella cartella decriptata
	fuser -k $CARTELLA_CRIPTATA

	## umount della cartella decriptata
	fusermount -u $CARTELLA_DECRIPTATA \
	2>>/tmp/gfusencfs.log && zenity --info --text="Il disco è smontato \
correttamente\!" --title="gfusencfs"
fi
rmdir $CARTELLA_DECRIPTATA
if [ -s "/tmp/gfusencfs.log" ]; then
	temp="$(cat "/tmp/gfusencfs.log")"
	if [ ${#temp} -gt 1024 ]; then
		usa_printf
	else
		cat "/tmp/gfusencfs.log" | \
zenity --title="Errore - gfusencfs"\
--text-info
	fi	
	rm -f /tmp/gfusencfs.log || zenity --title="gfusencfs" --error\
--title="Attenzione"\
--text="Non e' stato possibile rimuovere il file /tmp/gfusencfs.log! :-("
fi
exit 0
Attenzione: gli script sono pubblicati SOLO a scopo dimostrativo (didattico) e ASSOLUTAMENTE SENZA GARANZIA: l'autore nega qualsiasi responsabilità di danni riscontrabili a seguito del loro uso (mancato funzionamento, errori ed eventuale perdita di dati, etc). Gli script sono pubblicati con la licenza d'uso GNU General Public License, peraltro ottenibile al seguente link GNU/GPL.

Attenzione!
Consiglio a tutti di farvi un bel backup dei dati da criptare
.

Aggiornamento del 06 Luglio 2007
Se avete problemi con i permessi della cartella in cui verrà montata il disco virtuale cifrato, nell'esempio di sopra ~/cifra provate a cambiare il gruppo di appartenenza del file /dev/fuse da root a fuse, col seguente comando: sudo chown root:fuse /dev/fuse e riavviate la macchina.

Ultimo aggiornamento 24 Ottobre 2008


powered by FreeFind
Il sito è una creazione di Maurizio... ed è pubblicato sotto una Licenza CC; esso non viene aggiornato
in maniera periodica, pertanto non può essere considerato un prodotto editoriale ai sensi della legge n. 62 del 7.03.2001.