LUKS gestione manuale dei volumi: cryptsetup: differenze tra le versioni

verificata, sostituite opzioni deprecate
mNessun oggetto della modifica
(verificata, sostituite opzioni deprecate)
Riga 1: Riga 1:
{{Versioni compatibili|Wheezy|Jessie}}
{{Versioni compatibili|Jessie|Stretch|Buster}}
== Introduzione ==
== Introduzione ==
Questa guida contiene solo due esempi di [[script]] Bash per la gestione attraverso cryptsetup di volumi cifrati secondo lo standard [http://code.google.com/p/cryptsetup/ LUKS] (Linux Unified Keys Setup).<br/>
Questa guida contiene solo due esempi di [[script]] Bash per la gestione attraverso cryptsetup di volumi cifrati secondo lo standard [http://code.google.com/p/cryptsetup/ LUKS] (Linux Unified Keys Setup).<br/>
Riga 10: Riga 10:
Con [[privilegi di amministrazione]] copiare il file successivo in <code>/usr/local/sbin</code>, assegnandogli utente e gruppo [[root]] e permessi di esecuzione, dopodiché eseguirlo sempre con privilegi.
Con [[privilegi di amministrazione]] copiare il file successivo in <code>/usr/local/sbin</code>, assegnandogli utente e gruppo [[root]] e permessi di esecuzione, dopodiché eseguirlo sempre con privilegi.


Si deve però modificare la variabile dello script seguente per utilizzare la propria home, anziché quella di root.
Si deve però modificare la variabile dello script seguente per utilizzare la propria home.


<pre>#!/bin/bash
<pre>
#!/bin/bash


HOME_UTENTE="${HOME:-/home/nomeutente}" ### <-- DA MODIFICARE CON LA PROPRIA HOME
HOME_UTENTE="/home/nomeutente" ### <-- DA MODIFICARE CON LA PROPRIA HOME


#Utilizzo di un file immagine come periferica criptata
#Utilizzo di un file immagine come periferica criptata
Riga 20: Riga 21:
case $1 in
case $1 in
         monta)
         monta)
                 if [ -f "$HOME_UTENTE"/immagine_cifrata ]; then
                 if [ -f "${HOME_UTENTE}/immagine_cifrata" ]; then
                     echo "Impostazione periferica ricorsiva (loop)."
                     echo "Impostazione periferica ricorsiva (loop)."
                     /sbin/losetup /dev/loop0 "$HOME_UTENTE"/immagine_cifrata
                     loopdev=$(losetup -f)
                    losetup "$loopdev" "${HOME_UTENTE}/immagine_cifrata"
                 else
                 else
                     echo "File: \"$HOME_UTENTE/immagine_cifrata\" non trovato!" >&2
                     echo "File: \"${HOME_UTENTE}/immagine_cifrata\" non trovato!" >&2
                     exit 4
                     exit 4
                 fi
                 fi


                 if [ $? = 0 ]; then
                 if [ $? = 0 ]; then
                     /sbin/cryptsetup luksOpen /dev/loop0 criptata
                     cryptsetup open --type luks "$loopdev" criptata
                 else
                 else
                     echo "Impostazione periferica ricorsiva non riuscita." >&2
                     echo "Impostazione periferica ricorsiva non riuscita." >&2
Riga 36: Riga 38:


                 if [ $? = 0 ]; then
                 if [ $? = 0 ]; then
                     if ! [ -e "$HOME_UTENTE"/criptata ]; then
                     if ! [ -e "${HOME_UTENTE}/criptata" ]; then
                       mkdir "$HOME_UTENTE"/criptata
                       mkdir "${HOME_UTENTE}/criptata"
                     fi &&
                     fi &&
                     mount /dev/mapper/criptata "$HOME_UTENTE"/criptata
                     mount /dev/mapper/criptata "${HOME_UTENTE}/criptata"
                 else
                 else
                     echo "Impotazione periferica non criptata non riuscita." >&2
                     echo "Impotazione periferica non criptata non riuscita." >&2
                     /sbin/losetup -d /dev/loop0
                     losetup -d "$loopdev"
                     exit 2
                     exit 2
                 fi
                 fi
Riga 48: Riga 50:
                 if [ $? != 0 ]; then
                 if [ $? != 0 ]; then
                     echo "Impossibile montare la periferica criptata." >&2
                     echo "Impossibile montare la periferica criptata." >&2
                     /sbin/cryptsetup luksClose criptata
                     cryptsetup close criptata
                     /sbin/losetup -d /dev/loop0
                     losetup -d "$loopdev"
                     exit 1
                     exit 1
                 fi
                 fi
Riga 58: Riga 60:
                 if [ $? = 0 ]; then
                 if [ $? = 0 ]; then
                     echo "Smontaggio riuscito"
                     echo "Smontaggio riuscito"
                     /sbin/cryptsetup luksClose criptata
                     cryptsetup close criptata
                 else
                 else
                     echo "Smontaggio non riuscito." >&2
                     echo "Smontaggio non riuscito." >&2
Riga 65: Riga 67:


                 if [ $? = 0 ]; then
                 if [ $? = 0 ]; then
                     /sbin/losetup -d /dev/loop0
                     loopdev=$(losetup -n -O "NAME" -j "${HOME_UTENTE}/immagine_cifrata") &&
                    losetup -d "$loopdev"
    if [ $? = 0 ]; then  
    if [ $? = 0 ]; then  
        echo "Periferica criptata chiusa"
        echo "Periferica criptata chiusa"
        touch "$HOME_UTENTE"/criptata.img
        touch "${HOME_UTENTE}/criptata.img"
                     else
                     else
                         echo "Rimozione periferica ricorsiva non riuscita." >&2
                         echo "Rimozione periferica ricorsiva non riuscita." >&2
Riga 82: Riga 85:
         exit 1
         exit 1
         ;;
         ;;
esac</pre>
esac
</pre>
Nello script è stato 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/>
Nello script è stato 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/>
Nella prassi si è rivelata importante una modifica esplicita di queste informazioni del file, per sapere quali file cifrati sono stati aperti di recente, nel caso se ne vogliano fare delle copie di backup.<br/>
Nella prassi si è rivelata importante una modifica esplicita di queste informazioni del file, per sapere quali file cifrati sono stati aperti di recente, nel caso se ne vogliano fare delle copie di backup.<br/>
Riga 96: Riga 100:
<pre>#!/bin/bash
<pre>#!/bin/bash


HOME_UTENTE="${HOME:-/home/nomeutente}" ### <-- DA MODIFICARE CON LA PROPRIA HOME
HOME_UTENTE="/home/nomeutente"         ### <-- DA MODIFICARE CON LA PROPRIA HOME
PATH_MEMORIA="/dev/mmcblk0p1"          ### <-- DA MODIFICARE CON IL PATH /dev/... DELLA PROPRIA MEMORIA
PATH_MEMORIA="/dev/mmcblk0p1"          ### <-- DA MODIFICARE CON IL PATH /dev/... DELLA PROPRIA MEMORIA


Riga 111: Riga 115:
                     mkdir "$HOME_UTENTE"/criptata
                     mkdir "$HOME_UTENTE"/criptata
                 fi &&
                 fi &&
                 /sbin/cryptsetup luksOpen "$PATH_MEMORIA" criptata &&
                 cryptsetup open --type=luks "$PATH_MEMORIA" criptata &&
                 mount /dev/mapper/criptata "$HOME_UTENTE"/criptata ||
                 mount /dev/mapper/criptata "$HOME_UTENTE"/criptata ||
                 {
                 {
                     echo "Il file system cifrato non può essere montato." >&2
                     echo "Il file system cifrato non può essere montato." >&2
                     /sbin/cryptsetup luksClose criptata
                     cryptsetup close criptata
                     exit 1
                     exit 1
                 }
                 }
Riga 128: Riga 132:


                 #Chiudo il nodo in /dev/mapper e controllo
                 #Chiudo il nodo in /dev/mapper e controllo
                 /sbin/cryptsetup luksClose criptata
                 cryptsetup close criptata
                 if [ $? = 0 ]; then
                 if [ $? = 0 ]; then
                     echo "Nodo cifrato in /dev/mapper rimosso."
                     echo "Nodo cifrato in /dev/mapper rimosso."
Riga 140: Riga 144:
         exit 1
         exit 1
         ;;
         ;;
esac</pre>
esac
</pre>




Riga 146: Riga 151:
|Autore = [[Utente:GipPasso|GipPasso]]
|Autore = [[Utente:GipPasso|GipPasso]]
|Verificata_da =
|Verificata_da =
: [[Utente:HAL 9000|HAL 9000]] 17:59, 19 apr 2015 (CEST)
: [[Utente:HAL 9000|HAL 9000]] 10:49, 29 set 2019 (CEST)
|Estesa_da =
|Estesa_da =
|Numero_revisori = 1
|Numero_revisori = 1
3 581

contributi