只想知道 发表于 2015-1-18 11:40:08

Linux制作之Ubuntu Linux之加密文件体系仓酷云

对于开发环境的选择尽量要轻量级和高度可定制,航空母舰级别的工具往往会让你迷惑不解;
本文将具体先容使用dm-crypt来创立加密文件体系的办法。与别的创立加密文件体系的办法比拟,dm-crypt体系有着无与伦比的优胜性:它的速率更快,易用性更强。除此以外,它的合用面也很广,可以运转在各类块设备上,即便这些设备利用了RAID和LVM也毫无停滞。
当UbuntuLinux利用加密文件体系后,数据的平安能失掉很好的回护。在这类情形下,即便把我们的呆板送给黑客,只需他们没有密钥,黑客看到的数据只会是一堆乱码,毫有利用代价可言。

本文将具体先容使用dm-crypt来创立加密文件体系的办法。与别的创立加密文件体系的办法比拟,dm-crypt体系有着无与伦比的优胜性:它的速率更快,易用性更强。除此以外,它的合用面也很广,可以运转在各类块设备上,即便这些设备利用了RAID和LVM也毫无停滞。dm-crypt体系之以是具有这些长处,次要得益于该手艺是创建在2.6版本内核的device-mapper特征之上的。device-mapper是计划用来为在实践的块设备之上增加假造层供应一种通用天真的办法,以便利开辟职员完成镜像、快照、级联和加密等处置。别的,dm-crypt利用了内核暗码使用编程接话柄现了通明的加密,而且兼容cryptloop体系。
1、设置内核

dm-crypt使用内核的暗码使用编程接口来完成暗码操纵。一样平常说来,内核一般将各类加密程序以模块的情势加载。关于256-bitAES来讲,其平安强度已十分之高,即使用来回护尽密级的数据也充足了。因而本文中我们利用256-bitAES暗码,为了包管您的内核已加载AES暗码模块,请使用以下命令举行反省:
$cat/proc/crypto假如看到相似上面的输入的话,申明AES模块已加载:
name:aes
module:aes
type:cipher
blocksize:16
minkeysize:16
maxkeysize:32不然,我们能够使用modprobe来手工加载AES模块,命令以下所示:
$sudomodprobeaes接上去安装dmsetup软件包,该软件包括有设置device-mapper所需的工具:
$sudoapt-getinstalldmsetupcryptsetup为反省dmsetup软件包是不是已创建了设备映象程序,键进以下命令:$ls-l/dev/mapper/control接上去加载dm-crypt内核模块:$sudomodprobedm-cryptdm-crypt加载后,它会用evice-mapper主动注册。假如再次查验的话,device-mapper已能辨认dm-crypt,而且把crypt增加为可用的对象:$sudodmsetuptargets假如统统顺遂,如今你应当看到crypt的以下输入:cryptv1.1.0
stripedv1.0.2
linearv1.0.1
errorv1.0.1这申明我们的体系已为装载加密设备做好了筹办。上面,我们先来创建一个加密设备。

2、创建加密设备

要创立作为加密设备装载的文件体系,有两种选择:一是创建一个磁盘映像,然后作为回送设备加载;二是利用物理设备。不管那种情形,除在创建和绑缚回送设备外,别的操纵历程都是类似的。

1.创建回送磁盘映象

假如你没有效来加密的物理设备(好比存储棒或别的的磁盘分区),作为交换,你能够使用命令dd来创建一个空磁盘映象,然后将该映象作为回送设备来装载,还是能用。上面我们以实例来加以先容:
$ddif=/dev/zeroof=~/secret.imgbs=1Mcount=100这里我们新建了一个巨细为100MB的磁盘映象,该映象名字为secret.img。要想改动其巨细,能够改动count的值。

接上去,我们使用losetup命令将该映象和一个回送设备接洽起来:
$sudolosetup/dev/loop/0~/secret.img如今,我们已失掉了一个假造的块设备,其位于/dev/loop/0,而且我们可以好像利用别的设备那样来利用它。
2.设置块设备

筹办好了物理块设备(比方/dev/sda1),大概是假造块设备(像后面那样创建了回送映象,并使用device-mapper将其作为加密的逻辑卷加载),我们就能够举行块设备设置了。

上面我们利用cryptsetup来创建逻辑卷,并将其与块设备绑缚:
$sudocryptsetup-ycreatemyEncryptedFilesystem

/dev/DEVICENAME个中,myEncryptedFilesystem是新建的逻辑卷的称号。而且最初一个参数必需是将用作加密卷的块设备。以是,假如你要利用后面创建的回送映象作为假造块设备的话,应该运转以下命令:$sudocryptsetup-ycreatemyEncryptedFilesystem/dev/loop/0不管是利用物理块设备仍是假造块设备,程序城市要你输出逻辑卷的口令,-y的感化在于要你输出两次口令以确保无误。这一点很主要,由于一旦口令弄错,你就会把本人的数据锁住,这时候谁也帮不了您了!

为了确认逻辑卷是不是已创建,可使用以下命令举行反省一下:

$sudodmsetupls只需该命令列出了逻辑卷,就申明已乐成创建了逻辑卷。不外依据呆板的分歧,设备号大概有所分歧:myEncryptedFilesystem(221,0)device-mapper会把它的假造设备装载到/dev/mapper上面,以是,你的假造块设备应当是/dev/mapper/myEncryptedFilesystem,只管用起来它和别的块设备没甚么分歧,实践上它倒是经由通明加密的。

好像物理设备一样,我们也能够在假造设备上创立文件体系:

$sudomkfs.ext3/dev/mapper/myEncryptedFilesystem如今为新的假造块设备创建一个装载点,然后将其装载。命令以下所示:$sudomkdir/mnt/myEncryptedFilesystem

$sudomount/dev/mapper/myEncryptedFilesystem/mnt/myEncryptedFilesystem我们可以使用上面的命令检察其装载后的情形:$df-h/mnt/myEncryptedFilesystem

FilesystemSizeUsedAvailUse%Mountedon

/dev/mapper/myEncryptedFilesystem97M2.1M90M2%/mnt/myEncryptedFilesystem很好,我们看到装载的文件体系,只管看起来与别的文件体系无异,但实践上写到/mnt/myEncryptedFilesystem/下的一切数据,在数据写进之前都是经由通明的加密处置后才写进磁盘的,因而,从该处读取的数据都是些密文。

3、卸载办法

要卸载加密文件体系,战争常的办法没甚么两样:
$sudoumount/mnt/myEncryptedFilesystem即便已卸载了块设备,在dm-crypt中仍旧视为一个假造设备。如若不信,你能够再次运转命令sudodmsetupls来考证一下,你会看到该设备仍然会被列出。由于dm-crypt缓存了口令,以是呆板上的别的用户不必要晓得口令就可以从头装载该设备。为了不这类情形产生,你必需在卸载设备后从dm-crypt中显式的删除该设备。命令详细以下所示:
$sudocryptsetupremovemyEncryptedFilesystem今后,它将完全扫除,要想再次装载的话,你必需再次输出口令。为了简化该历程,我们能够使用一个复杂的剧本来完成卸载和扫除事情:
#!/bin/sh
umount/mnt/myEncryptedFilesystem
cryptsetupremovemyEncryptedFilesystem4、从头装载

在卸载加密设备后,我们极可能还需作为一般用户来装载它们。为了简化该事情,我们必要在/etc/fstab文件中增加以下内容:
/dev/mapper/myEncryptedFilesystem/mnt/myEncryptedFilesystemext3noauto,noatime00别的,我们也能够经由过程创建剧本来替我们完成dm-crypt设备的创立和卷的装载事情,办法是用实践设备的称号或文件路径来交换/dev/DEVICENAME:#!/bin/sh

cryptsetupcreatemyEncryptedFilesystem/dev/DEVICENAME

mount/dev/mapper/myEncryptedFilesystem/mnt/myEncryptedFilesystem假如你利用的是回送设备的话,你还能使用剧本来绑缚设备:#!/bin/sh

losetup/dev/loop/0~/secret.img

cryptsetupcreatemyEncryptedFilesystem/dev/loop/0

mount/dev/mapper/myEncryptedFilesystem/mnt/myEncryptedFilesystem假如你收到动静“ioctl:LOOP_SET_FD:Deviceorresourcebusy”,这申明回送设备极可能仍旧装载在体系上。我们能够使用sudolosetup-d/dev/loop/0命令将其删除。

5、加密主目次

假如设置了PAM(PluggableAuthenticationModules,便可拔出式判别模块)子体系在您登录古装载主目次的话,你乃至还能加密全部主目次。由于libpam-mount模块同意PAM在用户登录时主动装载恣意设备,以是我们要连同openssl一同来安装该模块。命令以下所示:
$sudoapt-getinstalllibpam-mountopenssl接上去,编纂文件/etc/pam.d/common-auth,在其开端增加以下一行:
authoptionalpam_mount.souse_first_pass然后在文件/etc/pam.d/common-session开端增加以下一行内容:
sessionoptionalpam_mount.so如今,我们来设置PAM,告知它必要装载哪些卷、和装载地位。对本例而言,假定用户名是Ian,要用到的设备是/dev/sda1,要增加到/etc/security/pam_mount.conf文件中的内容以下所示:
volumeIancrypt-/dev/sda1/home/Iancipher=aesaes-256-ecb/home/Ian.key假如想利用磁盘映象,你必要在此划定回送设备(好比/dev/loop/0),并确保在Ian登录之前体系已运转losetup。为此,你能够将losetup/dev/loop/0/home/secret.img放进/etc/rc.local文件中。由于该卷被加密,以是PAM必要密钥来装载卷。最初的参数用来告知PAM密钥在/home/Ian.key文件中,为此,经由过程利用OpenSSL来加密你的口令来创建密钥文件:
$sudosh-c"echo
"
YOURPASSPHRASE
"
|opensslaes-256-ecb>
/home/Ian.key"这时候,提醒你输出暗码。注重,这里的口令必须和想要的用户登录暗码分歧。缘故原由是当你登录时,PAM必要你供应这个暗码,用以加密你的密钥文件,然后依据包括在密钥文件中的口令用dm-crypt装载你的主目次。

需要注重的是,如许做会把你的口令以明文的情势表露在.history文件中,以是要实时使用命令history-c分明你的汗青纪录。别的,要想制止把口令寄存在加密的密钥文件中的话,可让创立加密文件体系的口令和登录口令完整分歧。如许,在身份认证时,PAM只需把你的暗码传给dm-crypt就能够了,而不用从密钥文件中抽取暗码。为此,你能够在/etc/security/pam_mount.conf文件中利用上面的命令行:
volumeIancrypt-/dev/sda1/home/Iancipher=aes--最初,为了包管在加入体系时主动卸载加密主目次,请编纂/etc/login.defs文件使得CLOSE_SESSIONS项设置以下:
CLOSE_SESSIONSyes
6、小结

数据加密是一种强而无力的平安手腕,它能在各类情况下很好的回护数据的秘密性。而本文先容的UbuntuLinux下的加密文件体系就是一种十分有效的数据加密回护体例,信任它可以在回护数据秘密性相方面临您有所匡助。

开发linux发行版的人都是通读过linux内核代码,对linux原理极其精通的人。

小魔女 发表于 2015-1-20 17:49:25

随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。

乐观 发表于 2015-1-29 13:43:29

为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。

小女巫 发表于 2015-1-30 20:59:07

在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。

活着的死人 发表于 2015-2-4 09:20:08

我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。

因胸联盟 发表于 2015-2-9 21:11:12

Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。

海妖 发表于 2015-2-27 21:28:54

这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?

莫相离 发表于 2015-3-9 14:20:37

通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。

再现理想 发表于 2015-3-16 00:34:06

主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。

小妖女 发表于 2015-3-22 02:33:14

可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。?

不帅 发表于 2015-3-25 02:37:22

笔者五分钟后就给出了解决方法: “首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini,最后重启动计算机

爱飞 发表于 2015-3-30 10:02:15

Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。

老尸 发表于 2015-4-21 15:13:10

用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。

若相依 发表于 2015-4-21 15:36:59

Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。

山那边是海 发表于 2015-4-21 18:44:03

老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。

第二个灵魂 发表于 2015-6-18 22:05:05

上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.

变相怪杰 发表于 2015-6-23 09:59:34

对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。

精灵巫婆 发表于 2015-6-26 18:42:24

得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。

深爱那片海 发表于 2015-7-14 14:18:40

随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。
页: [1]
查看完整版本: Linux制作之Ubuntu Linux之加密文件体系仓酷云