Oddio, potresti averla anche in rc.local, ma non so quanto sia saggio.
Ho cercato un pò tra gli script di avvio di slackware e per risolvere il problema ho fatto cosi:
Ho creato il file /etc/rc.d/rc.crypthome e gli ho dato il permesso di esecuzione:
La prima parte carica i moduli e crea l'associazione tra i device viene lanciata da rc.S.
La seconda parte monta la /home viene lanciata da rc.S dopo che fsck ha effettuato il controllo sulla partizione non montata.
La terza parte rimuove l'associzione tra i device e smonta la /home criptata ad ogni spegnimento.
Codice: Seleziona tutto
crypthome_start() {
# cryptsetup
/sbin/modprobe aes
/sbin/modprobe sha256
/sbin/modprobe dm_mod
/sbin/modprobe dm_crypt
# mappare la partizione criptata:
/usr/sbin/cryptsetup luksOpen /dev/hda3 crypthome
# mounting crypthome:
/sbin/mount /dev/mapper/crypthome /home
}
crypthome_mount() {
# mounting crypthome:
/sbin/mount /dev/mapper/crypthome /home
}
crypthome_stop () {
# umount crypthome e cancella associazione device
/sbin/umount /home
/usr/sbin/cryptsetup luksClose crypthome
}
case "$1" in
start)
crypthome_start
;;
mount)
crypthome_mount
;;
stop)
crypthome_stop
;;
*)
echo "Usage: $0 {start|stop}"
esac
In rc.S per richiamare la prima parte di rc.crypthome all'avvio ho messo prima del controllo di fsck:
Codice: Seleziona tutto
# carica moduli crea associzione device:
if [ -x /etc/rc.d/rc.crypthome ]; then
/etc/rc.d/rc.crypthome start
fi
Poi il sistema continua con rc.S ed effettua il controllo di fsck con queste righe:
Codice: Seleziona tutto
# Check all the non-root filesystems:
if [ ! -r /etc/fastboot ]; then
echo "Checking non-root filesystems:"
/sbin/fsck $FORCEFSCK -C -R -A -a
fi
Dopo il controllo di fsck ho inserito queste righe in rc.S che richiamano la seconda parte di rc.crypthome:
Codice: Seleziona tutto
# monta crypthome
if [ -x /etc/rc.d/rc.crypthome ]; then
/etc/rc.d/rc.crypthome mount
fi
Cosa ne pensate di questa soluzione...sapete consigliarmi di meglio???
In /etc/rc.d/rc.local_shutdown per richiamare la seconda parte di rc.crypthome che rimuove l'associzione tra i device e smonta la /home criptata ho messo:
Codice: Seleziona tutto
# umount crypthome e cancella associazione device
if [ -x /etc/rc.d/rc.crypthome ]; then
/etc/rc.d/rc.crypthome stop
fi
Di questo non sono molto sicuro...mi consigliate di metterlo in rc.6 oppure non serve perchè in rc.6 cè già la sezione che smonta le partizioni allo spegnimento???
Grazie!!!