Aufgabe: Richten Sie im CentOS 6.x-System mithilfe eines einmaligen (zufälligen) Schlüssels ein automatisch verschlüsseltes Dateisystem ein und mounten Sie es, das sich in einer regulären Datei befindet.
/etc/crypttab in CentOS 6.* erlaubt nicht die Verwendung einer einfachen Datei als Blockgerät zum automatischen Mounten und Zuordnen.
Also, /etc/crypttab Zeile wie diese
cfs /var/file-with-encrypted-filesystem some-password-source
wird in CentOS ignoriert.
Die folgende Befehlsfolge kann zum Ausführen der Aufgabe in CentOS verwendet werden:
losetup /dev/loop0 /var/tmpfile
dd if=/dev/urandom of=/dev/shm/tmppass bs=512 count=1
cryptsetup luksFormat /dev/loop0 --use-urandom --batch-mode --key-file /dev/shm/tmppass
cryptsetup luksOpen /dev/loop0 ctmp --batch-mode --key-file /dev/shm/tmppass
mkfs.ext2 /dev/mapper/ctmp
mount -t ext2 /dev/mapper/ctmp /mountpoint
shred -n 1 /dev/shm/tmppass
rm -f /dev/shm/tmppass
angenommen, die Datei zum Halten des Dateisystems ist /var/tmpfile
Gibt es eine weniger umständliche Möglichkeit, dasselbe auf Debian-ähnliche Weise zu erreichen (durch Angabe relevanter Einträge in /etc/crypttab und /etec/fstab)?
Antwort1
Der folgende /etc/crypttab-Eintrag zeigt, wie Sie es in Ubuntu machen würden:
# <target name> <source device> <key file> <options>
cfs /var/file-with-encrypted-filesystem /dev/urandom tmp=ext4
Sehr ähnlich der Handhabung von Crypted Swap – siehe das Beispiel der Crypttab-Manpage unten:
# Encrypted swap device
cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap
Gibt es auf der Manpage von CentOS für Crypttab Hinweise dazu? Ich habe im Moment keine CentOS-Maschine zur Hand, aber auf einer RHEL 6-Maschine werden dieselben Optionen unterstützt.
OK, gut, ich war neugierig. Das funktioniert und ist ein bisschen netter. Platzieren Sie es irgendwo wie /etc/rc.local
. Getestet auf RH 6:
LODEV=$(losetup -f)
losetup $LODEV /path/to/existing/cryptfile
cryptsetup create cfs $LODEV --key-file /dev/urandom
mkfs.ext2 /dev/mapper/cfs
mount /dev/mapper/cfs /wherever