猫の尻尾を引っ張るつもりはありませんが、すぐにそれをどのようにしたかを示します。
この場合、1つのパーティション(/ tmp)にある同じハードドライブ上のファイルは暗号化されますが、コンテナーファイルをどこにでも配置することを禁止するものはありません。 さあ始めましょう!
コンテナーとなるサイズがそれぞれ50 MBの5つのファイルを作成します。
/tmp # for i in `seq 1 5`; do dd if=/dev/zero of=safe.$i bs=1M count=50; done
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 0.235608 s, 223 MB/s
チェック:
/tmp # ls
-rw-r--r-- 1 root root 50M 2009-11-28 03:02 safe.1
-rw-r--r-- 1 root root 50M 2009-11-28 03:02 safe.2
-rw-r--r-- 1 root root 50M 2009-11-28 03:02 safe.3
-rw-r--r-- 1 root root 50M 2009-11-28 03:02 safe.4
-rw-r--r-- 1 root root 50M 2009-11-28 03:02 safe.5
losetupを使用して、金庫をデバイスに変えます。
/tmp # for i in `seq 1 5`; do losetup /dev/loop$i /tmp/safe.$i; done
大量のデータを保存するためにサイズがそれぞれ50 MBの5つのデバイスがあり、それらを1つの論理ボリュームに結合します。
pvcreateユーティリティが利用できない場合は、インストールします
apt-get install lvm2
(ubuntu用)
/tmp # pvcreate /dev/loop{1,2,3,4,5}
Physical volume "/dev/loop1" successfully created
/tmp # vgcreate vg0 /dev/loop{1,2,3,4,5}
Volume group "vg0" successfully created
/tmp # vgscan
Reading all physical volumes. This may take a while...
Found volume group "vg0" using metadata type lvm2
/tmp # lvcreate --size 200M --name lvopt vg0
Logical volume "lvopt" created
これで、 / dev / vg0 / lvoptに 200 MBのLVがあります
たとえば、 twofishを使用して暗号化します 。
/tmp # cryptsetup -y create datasafe /dev/vg0/lvopt
Enter passphrase:
Verify passphrase:
これで、何が起こったのかを確認できます。 まず、ext4で新しいデバイスをフォーマットします。
mkfs.ext4dev /dev/mapper/datasafe
mke2fs 1.41.9 (22-Aug-2009)
:
mount -t ext4 /dev/mapper/datasafe /mdia/safe/
金庫にデータを入れて、それが機能することを確認します。 / dev / zeroからデータを取得します
cat /dev/zero >> /media/safe/test
cat: write error: No space left on device
現在、LVにはテストファイルがあり、使用可能なスペースを大量に占有しています。以下を確認してください。
df -h
Filesystem Size Used Avail Use% Mounted on
[....]
/dev/mapper/datasafe 194M 193M 0 100% /media/safe
次に、LVをアンマウントします。
umount /media/safe/
cryptsetup remove datasafe
そして、今デバイスの内容を読んでみてください:
less -f /dev/vg0/lvopt
デバイスが暗号化されていることを確認します!
コンテナファイルのサイズはさまざまで、ハードドライブに配置できるため、検出が困難になるだけでなく、1つのデバイスにまとめることもできます。