Montare volumi cifrati
Se durante l'installazione si creano dei volumi cifrati e si assegnano a
dei punti di mount allora, durante l'avvio, viene richiesto l'inserimento
della passphrase per ognuno di questi volumi. La procedura da seguire è
leggermente diversa fra dm-crypt e loop-AES.
dm-crypt
Le partizioni cifrate con dm-crypt sono mostrate durante l'avvio con un
prompt simile a questo:
Starting early crypto disks... part_crypt(starting)
Enter LUKS passphrase:
Nella prima riga la part è il nome della
partizione sottostante, per esempio sda2 o md0.
Probabilmente adesso si vorrebbe conosce per quale
volume si sta inserendo la passphrase. Si tratta di
/home? Oppure di /var?
Certamente se nel sistema esiste un solo volume cifrato la risposta è
semplice, si deve inserire la stessa passphrase usata durante la
configurazione. Invece, se durante l'installazione sono stati preparati
più volumi cifrati, gli appunti presi durante l'ultimo passo descritto
in risultano molto utili. Se non si
hanno appunti su come sono mappati i diversi
part_crypt sui vari punti di
mount allora si possono trovare nei file /etc/crypttab
e /etc/fstab del nuovo sistema.
Il prompt potrebbe essere leggermente diverso quando viene montato il file
system di root. Dipende da quale strumento è stato usato per la creazione
dell'initramfs per l'avvio del sistema. Il prossimo esempio si riferisce a
un initrd creato con initramfs-tools:
Begin: Mounting root file system... ...
Begin: Running /scripts/local-top ...
Enter LUKS passphrase:
Durante l'inserimento della passphrase non sono mostrati dei caratteri,
nemmeno degli asterischi. Se la passphrase inserita è sbagliata si hanno
a disposizione altri due tentativi, dopo il terzo tentativo il processo di
avvio salta il montaggio del volume e prosegue con il filesystem successivo.
Si veda per maggiori informazioni.
L'avvio prosegue normalmente dopo l'inserimento di tutte le passphrase.
loop-AES
Per le partizioni cifrate con loop-AES viene mostrato il seguente prompt
durante l'avvio:
Checking loop-encrypted file systems.
Setting up /dev/loopX (/mountpoint)
Password:
Durante l'inserimento della passphrase non sono mostrati dei caratteri,
nemmeno degli asterischi. Se la passphrase inserita è sbagliata si hanno
a disposizione altri due tentativi, dopo il terzo tentativo il processo di
avvio salta il montaggio del volume e prosegue con il filesystem successivo.
Si veda per maggiori informazioni.
Dopo aver inserito tutte le passphrase l'avvio prosegue in modo usuale.
Risoluzione dei problemi
Se alcuni dei volumi cifrati non sono stati montati perché è stata
inserita una passphrase sbagliata, è comunque possibile montarli
manualmente al termine dell'avvio. Si possono verificare diversi casi:
Il primo caso riguarda la partizione root. Quando non è correttamente
montata il processo di avvio si arresta ed è necessario riavviare la
macchina per fare un nuovo tentativo.
Il caso più semplice riguarda i volumi che contengono dati, come
/home o /srv. Si possono montare
manualmente al termine dell'avvio. Con loop-AES questa operazione richiede
un solo comando:
# mount /mount_point
Password:
dove /mount_point deve essere sostituito dalla
directory specifica (per esempio /home). L'unica
differenza rispetto a un normale mount è la richiesta di inserire la
passphrase del volume.
Con dm-crypt è leggermente più complesso. Prima si devono registrare i
volumi con device mapper eseguendo:
# /etc/init.d/cryptdisks start
Questo esegue la scansione di tutti i volumi elencati in
/etc/crypttab e dopo aver richiesto la passphrase
crea i rispettivi file di device nella directory /dev.
I volumi già registrati sono saltati, quindi è possibile ripetere più
volte questo comando senza preoccupazioni. Se la registrazione avviene
con successo è possibile montare i volumi nel modo consueto:
# mount /mount_point
Se alcuni dei volumi che contengono file non critici per il sistema non
possono essere montati (/usr o /var)
l'avvio dovrebbe continuare e dovrebbe essere possibile montare i volumi
manualmente con la stessa procedura descritta al punto precedente. Inoltre
è necessario anche (ri)avviare tutti i servizi che sono normalmente in
esecuzione nel runlevel predefinito dato che, molto probabilmente, non
sono partiti. Il modo più semplice per fare questa operazione è passare
al primo runlevel e poi tornare indietro; dal prompt della shell eseguire:
# init 1
poi premere Control D
quando viene richiesta la password di root.