3 581
contributi
Riga 5: | Riga 5: | ||
== Automatizzazione dei passi necessari == | == Automatizzazione dei passi necessari == | ||
Assumiamo di avere creato correttamente il volume criptato, la chiave e il filesystem. Ora 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/> | Assumiamo di avere creato correttamente il volume criptato, la chiave e il filesystem. Ora 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. | Di seguito sono riportati due script, uno per il caso di file montato ricorsivamente, l'altro per il caso di periferica ordinaria. | ||
=== Script per file immagine === | === Script per file immagine === | ||
Con [[privilegi di amministratore]] copiare il file successivo in <code>/usr/local/sbin</code>, assegnandogli utente e gruppo [[root]] e permessi di esecuzione, dopodiché eseguirlo solo una volta ottenuti i [[privilegi di amministratore]]. | |||
Si deve però modificare la variabile dello script seguente per utilizzare la propria home, anziché quella di root. | |||
<pre>#!/bin/bash | <pre>#!/bin/bash | ||
HOME_UTENTE="${HOME:-/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 15: | Riga 20: | ||
case $1 in | case $1 in | ||
monta) | monta) | ||
if [ -f | if [ -f "$HOME_UTENTE"/immagine_cifrata ]; then | ||
echo "Impostazione periferica ricorsiva (loop)." | echo "Impostazione periferica ricorsiva (loop)." | ||
/sbin/losetup /dev/loop0 / | /sbin/losetup /dev/loop0 "$HOME_UTENTE"/immagine_cifrata | ||
else | |||
echo "File: \"$HOME_UTENTE/immagine_cifrata\" non trovato!" >&2 | |||
exit 4 | |||
fi | fi | ||
Riga 28: | Riga 36: | ||
if [ $? = 0 ]; then | if [ $? = 0 ]; then | ||
mount /dev/mapper/criptata | if ! [ -e "$HOME_UTENTE"/criptata ]; then | ||
mkdir "$HOME_UTENTE"/criptata | |||
fi && | |||
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 | ||
Riga 57: | Riga 68: | ||
if [ $? = 0 ]; then | if [ $? = 0 ]; then | ||
echo "Periferica criptata chiusa" | echo "Periferica criptata chiusa" | ||
touch | touch "$HOME_UTENTE"/criptata.img | ||
else | else | ||
echo "Rimozione periferica ricorsiva non riuscita." >&2 | echo "Rimozione periferica ricorsiva non riuscita." >&2 | ||
Riga 77: | Riga 88: | ||
=== Script per periferica ordinaria === | === 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 <code>sdhci</code>). | Con [[privilegi di amministratore]] copiare il file successivo in <code>/usr/local/sbin</code>, assegnandogli utente e gruppo [[root]] e permessi di esecuzione, dopodiché eseguirlo solo una volta ottenuti i [[privilegi di amministratore]]. | ||
Si deve però modificare la variabile dello script seguente per utilizzare la propria home, anziché quella di root. | |||
In questo esempio inoltre viene usata la prima partizione di una scheda di memoria SD (<code>/dev/mmcblk0p1</code> con lettore compatibile con il modulo <code>sdhci</code>), se si utilizza una diversa memoria si deve cambiare il percorso. | |||
<pre>#!/bin/bash | <pre>#!/bin/bash | ||
HOME_UTENTE="${HOME:-/home/nomeutente}" ### <-- DA MODIFICARE CON LA PROPRIA HOME | |||
PATH_MEMORIA="/dev/mmcblk0p1" ### <-- DA MODIFICARE CON IL PATH /dev/... DELLA PROPRIA MEMORIA | |||
case $1 in | case $1 in | ||
monta) | monta) | ||
echo "Verifica presenza SD:" | echo "Verifica presenza SD:" | ||
if [ -b | if [ -b "$PATH_MEMORIA" ] ; then | ||
echo "." | echo "." | ||
else | else | ||
echo "La periferica non è inserita!" >&2 | echo "La periferica ($PATH_MEMORIA) non è inserita!" >&2 | ||
exit 2 | exit 2 | ||
fi | |||
if ! [ -e "$HOME_UTENTE"/criptata ]; then | |||
mkdir "$HOME_UTENTE"/criptata | |||
fi | fi | ||
/sbin/cryptsetup luksOpen | /sbin/cryptsetup luksOpen "$PATH_MEMORIA" criptata && | ||
mount /dev/mapper/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 | ||
Riga 99: | Riga 121: | ||
;; | ;; | ||
smonta) | smonta) | ||
#Smonto il file system criptato e controllo che lo smontaggio sia avvenuto correttamente | #Smonto il file system criptato e controllo che lo smontaggio sia avvenuto correttamente | ||
umount /dev/mapper/criptata | umount /dev/mapper/criptata | ||
if [ $? != 0 ]; then | if [ $? != 0 ]; then | ||
Riga 106: | Riga 128: | ||
fi | fi | ||
#Chiudo il nodo in /dev/mapper e controllo | #Chiudo il nodo in /dev/mapper e controllo | ||
/sbin/cryptsetup luksClose criptata | /sbin/cryptsetup luksClose criptata | ||
if [ $? = 0 ]; then | if [ $? = 0 ]; then | ||
Riga 125: | Riga 147: | ||
|Autore = [[Utente:GipPasso|GipPasso]] | |Autore = [[Utente:GipPasso|GipPasso]] | ||
|Verificata_da = | |Verificata_da = | ||
: [[Utente:HAL 9000|HAL 9000]] 17: | : [[Utente:HAL 9000|HAL 9000]] 17:59, 19 apr 2015 (CEST) | ||
|Estesa_da = | |Estesa_da = | ||
|Numero_revisori = 1 | |Numero_revisori = 1 |
contributi