三、卸载方法
要卸载加密文件系统,和平常的方法没什么两样:
| $ sudo umount /mnt/myEncryptedFilesystem |
| $ sudo cryptsetup remove myEncryptedFilesystem |
| #!/bin/sh umount /mnt/myEncryptedFilesystem cryptsetup remove myEncryptedFilesystem |
在卸载加密设备后,我们很可能还需作为普通用户来装载它们。为了简化该工作,我们需要在/etc/fstab文件中添加下列内容:
| /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem ext3 noauto,noatime 0 0 |
| #!/bin/sh cryptsetup create myEncryptedFilesystem /dev/DEVICENAME mount /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem |
| #!/bin/sh losetup /dev/loop/0 ~/secret.img cryptsetup create myEncryptedFilesystem /dev/loop/0 mount /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem |
五、加密主目录
如果配置了PAM(Pluggable Authentication Modules,即可插入式鉴别模块)子系统在您登录时装载主目录的话,你甚至还能加密整个主目录。因为libpam-mount模块允许PAM在用户登录时自动装载任意设备,所以我们要连同openssl一起来安装该模块。命令如下所示:
| $ sudo apt-get install libpam-mount openssl |
| auth optional pam_mount.so use_first_pass |
| session optional pam_mount.so |
现在,我们来设置PAM,告诉它需要装载哪些卷、以及装载位置。对本例而言,假设用户名是Ian,要用到的设备是/dev/sda1,要添加到/etc/security/pam_mount.conf文件中的内容如下所示:
| volume Ian crypt - /dev/sda1 /home/Ian cipher=aes aes-256-ecb /home/Ian.key |
| $ sudo sh -c "echo ' YOUR PASSPHRASE ' | openssl aes-256-ecb > /home/Ian.key" |
需要注意的是,这样做会把你的口令以明文的形式暴露在.history文件中,所以要及时利用命令history -c清楚你的历史记录。此外,要想避免把口令存放在加密的密钥文件中的话,可以让创建加密文件系统的口令和登录口令完全一致。这样,在身份认证时,PAM 只要把你的密码传给dm-crypt就可以了,而不必从密钥文件中抽取密码。为此,你可以在/etc/security/pam_mount.conf文件中使用下面的命令行:
| volume Ian crypt - /dev/sda1 /home/Ian cipher=aes - - |
| CLOSE_SESSIONS yes |
六、小结
数据加密是一种强而有力的安全手段,它能在各种环境下很好的保护数据的机密性。而本文介绍的Ubuntu Linux 下的加密文件系统就是一种非常有用的数据加密保护方式,相信它能够在保护数据机密性相方面对您有所帮助。


