任务:在CentOS 6.x系统中,使用一次性(随机)密钥设置并挂载自动加密的文件系统,驻留在常规文件中.
CentOS 6中的/ etc / crypttab *不允许使用普通文件作为块设备自动挂载和映射.
所以,/ etc / crypttab就像这样
cfs /var/file-with-encrypted-filesystem some-password-source
在CentOS中被忽略.
以下命令序列可用于在CentOS中执行任务:
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
是否有更简单的方法以类似Debian的方式实现相同(在/ etc / crypttab和/ etec / fstab中指定相关条目)?
以下/ etc / crypttab条目是您在Ubuntu中的操作方式:
# <target name> <source device> <key file> <options> cfs /var/file-with-encrypted-filesystem /dev/urandom tmp=ext4
与加密交换的处理方式非常相似 – 请参阅下面的crypttab联机帮助页示例:
# Encrypted swap device cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap
CentOS for crypttab上的联机帮助页是否提供了有关此操作的任何指导?目前没有CentOS机器,但在RHEL 6机器上支持相同的选项.
好的,我很好奇.这有效,而且更好一些.把它放在像/etc/rc.local这样的地方.在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