自動掛載加密檔案系統(使用隨機金鑰),駐留在 CentOS 6.* 下的常規檔案中

自動掛載加密檔案系統(使用隨機金鑰),駐留在 CentOS 6.* 下的常規檔案中

任務:在 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

假設保存檔案系統的檔案是 /var/tmpfile

是否有更簡單的方法以類似 Debian 的方式實現相同的目標(在 /etc/crypttab 和 /etec/fstab 中指定相關條目)?

答案1

以下 /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 上 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

相關內容