|
|
Riga 177: |
Riga 177: |
| Per smontare la periferica criptata basta, essendo autenticati come l'utente che ha montato il volume o super user: | | Per smontare la periferica criptata basta, essendo autenticati come l'utente che ha montato il volume o super user: |
| <pre>cryptmount -u criptata</pre> | | <pre>cryptmount -u criptata</pre> |
|
| |
| == Automatizzazione dei passi necessari ==
| |
| A questo punto dobbiamo solo creare uno script da eseguire come root, per fare tutte le operazioni di creazione e montaggio, o viceversa di smontaggio e rimozione automaticamente.<br/>
| |
| Di seguito sono riportati due script, uno per il caso di file montato ricorsivamente, l'altro per il caso di periferica ordinaria.<br/>
| |
| In entrambi i casi il montaggio della periferica criptata avviene nella cartella "criptata" nella home dell'utente; è necessario quindi creare la cartella:
| |
| <pre>$ mkdir /home/'''nomeutente'''/criptata</pre>
| |
| === Script per file immagine ===
| |
| <pre>#Utilizzo di un file immagine come periferica criptata
| |
| #!/bin/bash
| |
|
| |
| case $1 in
| |
| monta)
| |
| if [ -f /home/'''nomeutente'''/immagine_cifrata ]; then
| |
| echo "Impostazione periferica ricorsiva (loop)."
| |
| /sbin/losetup /dev/loop0 /home/'''nomeutente'''/immagine_cifrata
| |
| fi
| |
|
| |
| if [ $? = 0 ]; then
| |
| /sbin/cryptsetup luksOpen /dev/loop0 criptata
| |
| else
| |
| echo "Impostazione periferica ricorsiva non riuscita."
| |
| fi
| |
|
| |
| if [ $? = 0 ]; then
| |
| mount /dev/mapper/criptata /home/'''nomeutente'''/criptata
| |
| fi
| |
|
| |
| if [ $? !=0 ]; then
| |
| echo "Impossibile montare la periferica criptata."
| |
| /sbin/cryptsetup luksClose criptata
| |
| /sbin/losetup -d /dev/loop0
| |
| fi
| |
| ;;
| |
| smonta)
| |
| umount /dev/mapper/criptata
| |
| echo "Smontaggio riuscito"
| |
|
| |
| if [ $? = 0 ]; then
| |
| /sbin/cryptsetup luksClose criptata
| |
| else
| |
| echo "Smontaggio non riuscito."
| |
| fi
| |
|
| |
| if [ $? = 0 ]; then /sbin/losetup -d /dev/loop0
| |
| if [ $? = 0 ]; then
| |
| echo "Periferica criptata chiusa"
| |
| touch /home/'''nomeutente'''/criptata.img
| |
| else echo "Chiusura periferica criptata non riuscita"
| |
| fi
| |
| fi
| |
| ;;
| |
| *)
| |
| echo "Usage: $1 {monta|smonta}" >&2
| |
| exit 1
| |
| ;;
| |
| esac</pre>
| |
| Nello script ho inserito il comando <code>touch</code> per impostare all'ora attuale le date di ultimo accesso e modifica del file <code>criptata.img</code>.<br/>
| |
| Ho ritenuto importante una modifica esplicita di queste informazioni del file, perché può risultare molto più comodo sapere quali file cifrati sono stati aperti di recente, nel caso se ne vogliano fare delle copie di backup.<br/>
| |
| Se non si inserisce quella riga, programmi di backup (che spesso si appoggiano su ''librsync'') non possono accorgersi che il file cifrato è stato cambiato o è stato aperto di recente e non lo considerano nel sincronizzare le varie copie.
| |
|
| |
| === Script per periferica ordinaria ===
| |
| In questo esempio viene usata la prima partizione di una scheda di memoria SD (<code>/dev/mmcblk0p1</code> con lettore compatibile con il modulo sdhci).
| |
| <pre>#!/bin/bash
| |
|
| |
| case $1 in
| |
| monta)
| |
| echo "Verifica presenza SD:"
| |
| if [ -b /dev/mmcblk0p1 ] ; then
| |
| echo "."
| |
| else
| |
| echo "La periferica non è inserita!"
| |
| exit 2
| |
| fi
| |
|
| |
| if [ $? = 0 ]; then /sbin/cryptsetup luksOpen /dev/mmcblk0p1 criptata
| |
| fi
| |
|
| |
| if [ $? = 0 ]; then
| |
| mount /dev/mapper/criptata /home/'''nomeutente'''/criptata
| |
| fi
| |
|
| |
| if [ $? != 0 ]; then
| |
| echo "Il file system cifrato non può essere montato."
| |
| /sbin/cryptsetup luksClose criptata
| |
| fi
| |
| ;;
| |
| smonta)
| |
| #Smonto il file system criptato e controllo che lo smontaggio sia avvenuto correttamente
| |
| umount /dev/mapper/criptata
| |
| if [ $? != 0 ]; then
| |
| echo "Smontaggio non riuscito."
| |
| fi
| |
|
| |
| #Chiudo il nodo in /dev/mapper e controllo
| |
| /sbin/cryptsetup luksClose criptata
| |
| if [ $? = 0 ]; then
| |
| echo "Nodo cifrato in /dev/mapper rimosso."
| |
| else echo "Chiusura periferica criptata non riuscita"
| |
| fi
| |
| ;;
| |
| *)
| |
| echo "Usage: $1 {monta|smonta}" >&2
| |
| exit 1
| |
| ;;
| |
| esac</pre>
| |
|
| |
|
| {{Autori | | {{Autori |