分类: LINUX
2008-04-29 16:43:00
图1 |
图2随机排列的分区隐藏了使用量 |
要在/dev/hda4上创建一个加密的ext3文件系统,使用下面的步骤:
1)确认aes,dm-mod,dm-crypt模块已经载入内核
2)卸载将要托管加密root文件系统的分区/dev/hda4
#umount /dev/hda4
3)创建一个随机256位加密密钥并存储在/etc/root-key
#dd if =/dev/urandom of=/etc/root-key bs=1c count=32
这个密钥稍后将拷贝到闪存盘。
4)创建一个dm-crypt设备,使用前面创建的密钥加密
#cryptsetup -d /etc/root-key create /dev/hda4
现在访问/dev/mapper/root在/dev/hda4上提供了一个加密层,默认情况下,cryptsetup创建一个aes加密的dm-crypt设备并任务密钥大小为256位。
5)在/dev/mapper/root上创建一个ext3文件系统
#mkfs.ext3 /dev/mapper/root
6)挂载新文件系统
#mkdir /mnt/encroot
#mount /dev/mapper/root /mnt/encroot
7)现在你已经有一个加密文件系统了,你必须用/dev/hda5(原始的root文件系统)的内容来填充它
#cp -ax / /mnt/encroot
8)最后,在/mnt/encroot/crypttab中创建一个条目以便不同的实用程序知道文件系统是如何配置的:
root /dev/hda4 /etc/root-key cipher=aes
现在我们的加密文件系统已经准备好了,需要理解更多关于目标架构的启动过程,通常,计算机有一个固件程序来掌管系统启动的全过程,保护固件程序超出了本文的范畴,因此我们假设系统固件程序是可以信任的,大多数读者可能对BIOS比较熟悉,它是PC平台的启动固件程序,我主要讨论的是Open Firmware,它用于计算机制造厂商如苹果,sun和IBM启动系统。
NetBSD/macppc的安装指令对Open Firmware做了一个充分的介绍,我们对使用Open Firmware命令行接口配置计算机从一个闪存盘启动非常感兴趣,Open Firmware允许你查看连接到计算机的设备和设置固件程序变量的值。
在一个新世界(G3或更新的)苹果计算机初始化启动过程中,可以通过暂停选择性命令来访问Open Firmware提示符。
变量boot-device用于确定系统将从哪个设备启动,printenv命令允许查看当前的值:
> printenv
[...]
boot-devicehd:,\\:txbihd:,\\:txbi
这实际上意味着通过执行在第一块IDE磁盘上HFS类型txbi的文件来实现启动的,第二:txbi前的字符作为解释一个HFS文件类型的标志,否则,txbi可能被理解为文件路径,假如这样,标志hd实际上是更复杂的的一个别名,这个字符串通过子系统变量表现了路径,你可以使用Open Firmware命令查看设备对应的别名。