|
|
|
||||||
|
| 当前位置:业界关注 | ||||||||||||||||||||||||||||||
linux加密文件系统时间:2011年6月3日 来源:互联网转载 关联产品/方案:bs源代码加密防盗版 | ||||||||||||||||||||||||||||||
本文将详细介绍利用dm-crypt来创建文件加密系统的方法。与其它创建文件加密系统的方法相比,dm-crypt系统有着无可比拟的优越性:它 的速度 更快,易用性更强。除此之外,它的适用面也很广,能够运行在各种块设备上,即使这些设备使用了RAID和 LVM也毫无障碍。dm-crypt系统之所以具有这些优点,主要得益于该技术是建立在2.6版本内核的device-mapper特性之上的。 device-mapper是设计用来为在实际的块设备之上添加虚拟层提供一种通用灵活的方法,以方便开发人员实现镜像、快照、级联和加密等处理。此 外,dm-crypt使用了内核密码应用编程接口实现了透明的加密,并且兼容cryptloop系统。
如果看到类似下面的输出的话,说明AES模块已经加载:
否则,我们可以利用modprobe来手工加载AES模块,命令如下所示:
接下来安装dmsetup软件包,该软件包含有配置device-mapper所需的工具:
为检查dmsetup软件包是否已经建立了设备映象程序,键入下列命令:
接下来加载dm-crypt内核模块:
dm-crypt加载后,它会用evice-mapper自动注册。如果再次检验的话,device-mapper已能识别dm-crypt,并且把crypt 添加为可用的对象:
如果一切顺利,现在你应该看到crypt的下列输出:
这说明我们的系统已经为装载加密设备做好了准备。下面,我们先来建立一个加密设备。
二、建立加密设备
这里我们新建了一个大小为100 MB的磁盘映象,该映象名字为secret.img。要想改变其大小,可以改变count的值。
现在,我们已经得到了一个虚拟的块设备,其位于/dev/loop/0,并且我们能够如同使用其它设备那样来使用它。
2.设置块设备
其中,myEncryptedFilesystem 是新建的逻辑卷的名称。并且最后一个参数必须是将用作加密卷的块设备。所以,如果你要使用前面建立的回送映象作为虚拟块设备的话,应当运行以下命令:
无论是使用物理块设备还是虚拟块设备,程序都会要你输入逻辑卷的口令,-y的作用在于要你输入两次口令以确保无误。这一点很重要,因为一旦口令弄错,你就会把自己的数据锁住,这时谁也帮不了您了!
只要该命令列出了逻辑卷,就说明已经成功建立了逻辑卷。不过根据机器的不同,设备号可能有所不同:
device-mapper会把它的虚拟设备装载到/dev/mapper下面,所以,你的虚拟块设备应该是/dev/mapper/myEncryptedFilesystem ,尽管用起来它和其它块设备没什么不同,实际上它却是经过透明加密的。
现在为新的虚拟块设备建立一个装载点,然后将其装载。命令如下所示:
我们能够利用下面的命令查看其装载后的情况:
很好,我们看到装载的文件系统,尽管看起来与其它文件系统无异,但实际上写到/mnt/myEncryptedFilesystem /下的所有数据,在数据写入之前都是经过透明的加密处理后才写入磁盘的,因此,从该处读取的数据都是些密文。
三、卸载方法
即便已经卸载了块设备,在dm-crypt中仍然视为一个虚拟设备。如若不信,你可以再次运行命令sudo dmsetup ls来验证一下,你会看到该设备依然会被列出。因为dm-crypt缓存了口令,所以机器上的其它用户不需要知道口令就能重新装载该设备。为了避免这种情 况发生,你必须在卸载设备后从dm-crypt中显式的删除该设备。命令具体如下所示:
此后,它将彻底清除,要想再次装载的话,你必须再次输入口令。为了简化该过程,我们可以利用一个简单的脚本来完成卸载和清除工作:
四、重新装载
此外,我们也可以通过建立脚本来替我们完成dm-crypt设备的创建和卷的装载工作,方法是用实际设备的名称或文件路径来替换/dev/DEVICENAME:
如果你使用的是回送设备的话,你还能利用脚本来捆绑设备:
如果你收到消息“ioctl: LOOP_SET_FD: Device or resource busy”,这说明回送设备很可能仍然装载在系统上。我们可以利用sudo losetup -d /dev/loop/0命令将其删除。
接下来,编辑文件/etc/pam.d/common-auth,在其末尾添加下列一行:
然后在文件/etc/pam.d/common-session末尾添加下列一行内容:
现在,我们来设置PAM,告诉它需要装载哪些卷、以及装载位置。对本例而言,假设用户名是Ian,要用到的设备是/dev/sda1,要添加到/etc/security/pam_mount.conf文件中的内容如下所示:
如果想使用磁盘映象,你需要在此规定回送设备(比如/dev/loop/0),并确保在Ian登录之前系统已经运行losetup。为此,你可以将 losetup /dev/loop/0 /home/secret.img放入/etc/rc.local文件中。因为该卷被加密,所以PAM需要密钥来装载卷。最后的参数用来告诉PAM密钥在 /home/Ian.key文件中,为此,通过使用OpenSSL来加密你的口令来建立密钥文件:
这时,提示你输入密码。注意,这里的口令必需和想要的用户登录密码一致。原因是当你登录时,PAM需要你提供这个密码,用以加密你的密钥文件,然后根据包含在密钥文件中的口令用dm-crypt装载你的主目录。
最后,为了保证在退出系统时自动卸载加密主目录,请编辑/etc/login.defs文件使得CLOSE_SESSIONS项配置如下:
|
||||||||||||||||||||||||||||||
|
相关业界关注: |
|
jsp加密狗,php加密狗,ASP.NET加密狗,java加密狗,bs加密狗,asp加密狗,课件加密狗,flash加密狗,swf加密狗 |
|
地址:深圳市福田区梅秀路深华科技园1栋5J7
| 邮编:518008 |
电话:0755-88865755,(0)138-2326-5258 |
传真:0755-83273525 |
|
合作伙伴招募中: 上海,广州,杭州,宁波,南京,无锡,佛山,苏州,天津,成都,大连,济南,青岛,烟台,泉州,常州,东莞,武汉,沈阳,金华,南通,重庆,郑州,福州,温州,长沙,厦门,绍兴,西安,哈尔滨,合肥,珠海,包头,昆明,太原,湖州,汕头,惠州,广东,山东,江苏,浙江,河南,河北,辽宁,上海,四川,湖北,湖南,福建,北京,安徽,内蒙古,黑龙江,广西,陕西,吉林,天津,山西,江西,云南,重庆,新疆,贵州 友情连接: flash加密防盗版保护 seo工具 铁卷防泄密 纵横网络 软件项目交易网 深圳工作流系统 局域网管理软件 YCanPDF |