3 581
contributi
mNessun oggetto della modifica |
(verificata, sostituite opzioni deprecate) |
||
Riga 1: | Riga 1: | ||
{{Versioni compatibili| | {{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 | Si deve però modificare la variabile dello script seguente per utilizzare la propria home. | ||
<pre>#!/bin/bash | <pre> | ||
#!/bin/bash | |||
HOME_UTENTE=" | 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 | if [ -f "${HOME_UTENTE}/immagine_cifrata" ]; then | ||
echo "Impostazione periferica ricorsiva (loop)." | echo "Impostazione periferica ricorsiva (loop)." | ||
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 | ||
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 | if ! [ -e "${HOME_UTENTE}/criptata" ]; then | ||
mkdir "$HOME_UTENTE | mkdir "${HOME_UTENTE}/criptata" | ||
fi && | fi && | ||
mount /dev/mapper/criptata "$HOME_UTENTE | 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 | ||
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 | ||
cryptsetup close criptata | |||
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" | ||
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 | ||
/ | 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 | 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_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 && | ||
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 | ||
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 | ||
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]] | : [[Utente:HAL 9000|HAL 9000]] 10:49, 29 set 2019 (CEST) | ||
|Estesa_da = | |Estesa_da = | ||
|Numero_revisori = 1 | |Numero_revisori = 1 |
contributi