Ordner im Dateisystem durch verschlüsseltes Logical Volume ersetzen unter Linux
In diesem Beispiel wird der Log-Ordern /var/log/
in ein verschlüsseltes Logical Volume aus der Volume Group vg0
verschoben. Es wird davon ausgegangen, dass das Wurzel-Dateisystem auch schon verschlüsselt ist.
Alle Befehle müssen mit root-Rechten ausgeführt werden.
Zuerst verschlüsseltes Logical Volume erzeugen.
lvcreate -n log -L10G vg0 cryptsetup luksFormat /dev/vg0/log cryptsetup luksOpen /dev/vg0/log log_crypt mkfs.ext4 /dev/mapper/log_crypt
Nun die alten Dateien in das neue Volume kopieren.
mount /dev/mapper/log_crypt /mnt rsync -a /var/log/* /mnt/temp
Den alten Speicherplatz freigeben und das verschlüsselte Volume einhängen.
rm -r /var/log/* mount /dev/mapper/log_crypt /var/log
Den temporären Mountpoint freigeben.
umount /mnt
Zuletzt wollen wir noch dafür sorgen, dass unser Volume auch beim Starten wieder an die richtige Position eingebunden wird.
Dazu ein Keyfile erstellen und zum verschlüsselten Volume hinzufügen.
dd if=/dev/urandom of=/root/keyfile bs=1024 count=4 chmod 0400 /root/keyfile cryptsetup luksAddKey /dev/vg0/log /root/keyfile
Die UUID des Volumes herausfinden.
blkid /dev/vg0/log # Ausgabe /dev/vg0/log: UUID="dba2013b-bd0a-8716-9701-f215df00dfc0" TYPE="crypto_LUKS"
Einstellen, dass es automatisch entschlüsselt und eingehängt wird. (Alles hinter # einfügen)
vi /etc/crypttab # log_crypt UUID=dba2013b-bd0a-8716-9701-f215df00dfc0 /root/keyfile luks vi /etc/fstab # /dev/mapper/log_crypt /var/log ext4 defaults 0 2
Kein verschlüsseltes Wurzel-Dateisystem
Sollte das Wurzel-Dateisystem nicht verschlüsselt sein, erstellen wir kein Keyfile und tragen stattdessen in die /etc/crypttab
folgendes ein:
log_crypt UUID=dba2013b-bd0a-8716-9701-f215df00dfc0 none luks
Nun müssen wir aber bei jedem Systemstart das Passwort eingeben. Es ist allgemein sehr empfehlenswert, immer das gesamte Filesystem zu verschlüsseln.