有关文件的加密

作者: nick 分类: linux 发布时间: 2012-02-01 05:55 ė 6没有评论

对于一个把电脑当成自己小三儿的人来说,自己的一些文件的加密很有意义。你看韩峰同志,就是因为不注意自己文件的保密,结果弄得现在上天无路入地无门的。由此可见,把自己私密的文件加好密,是多么的重要啊!

所以,本文就着重讨论一些保护自己隐私文件的方法。

加密分区

使用Linux的用户,可以使用cryptsetup。

使用它加密自己的整个分区,很容易。只需要四步,我再下面把这四步一齐写出来,然后加上详细的注释,读者一看就明白了。

  1. # 在一个分区上,写入加密有关的信息
  2. # 下面这个命令,就是把'/dev/sda7'这个分区写入加密的信息
  3. # 在创建的过程中,会询问你是否执行,记着回答大写的YES
  4. # 然后就是输入加密的密码。这个密码要记好,当你打开这个设备的时候,要输入这个密码的
  5. # 当然,也可以加密别的分区
  6. cryptsetup luksFormat /dev/sda7
  7. # 把这个分区打开为一个块设备文件
  8. # 下面这个命令,将把'/dev/sda7'这个设备,打开到'/dev/mapper/pfile'上
  9. # 你以后所有的操作,都将在'/dev/mapper/pfile'上进行
  10. # 在打开的过程中,会询问你创建时的密码,如果密码不对,这个设备无法打开,也就无法使用
  11. # 当然,也可以打开到别的文件名,比如'pussy',如果你够流氓的话
  12. cryptsetup luksOpen /dev/sda7 pfile
  13. # 格式化这个分区
  14. # 下面这个命令,就是把刚才创建的加密分区pfile,格式化为ext3格式
  15. # 当然,也可以格式成其它格式
  16. # 对于linux系统来说,'/dev/mapper/pfile'是一个和别的块设备一模一样的设备文件,你可以在上面一般的任何其它操作
  17. mkfs -t ext3 /dev/mapper/pfile
  18. # 打开这个加密的分区
  19. # 挂载这个分区
  20. # 下面这个命令,就是把刚才创建的文件系统'/dev/mapper/pfile',挂载到'/home/user/pfile'这个目录上
  21. # 当然,也可以挂载到任何其它的目录上
  22. mount /dev/mapper/pfile /home/user/pfile

至此,一个加密后挂载成功的分区就创建好了。你可以像使用不加密的分区一样使用它,完全没有区别。

在实际的应用中,前面的两步,做好后就可以了。后面的两步,是每次挂载这个分区,都要这样使用的。

有些Linux发行版,可能自动地支持创建加密分区的图形化的界面。但是我是不太喜欢的,因为它有时候唬不了人。比如,犯罪分子绑架了你,他们一打开 电脑,到了挂载加密分区的时候,肯定就会提示输入密码,这时候你不输入,也不行。当然,这个例子也适用于你是犯罪分子面对人民警察要你打开自己电脑的时 候。

所以我是把这个操作,自己手动的写在/etc/rc.local里,在加密的分区的挂载上,加上一个询问,如果回答不对,就不挂载了,当然,也就不会提示输入密码。如:

  1. echo "If mount personal directory? YES/NO"
  2. read ans
  3. if [ "x$ans" == "xYESIAM" ]; then
  4.     mkdir -vp /home/user/pfile && cryptsetup luksOpen /dev/sda7 pfile && mount /dev/mapper/pfile /home/user/pfile
  5. fi

用Vim加密文件

如果你使用Vim编辑器,它自身的-x命令,就是加密选项。

比如,当你打开一个新文件时,用vim -x newfile,这时,vim会提示你输入密码,输入完成后,你的文件保存的时候,就会被保存成加密的。这个加密级别没有那么高,但是对于一般文件的隐私保护也够用了。

并且,当你用vim打开一个用vim加密的文件时,无论是否提供-x选项,vim都会提示你输入密码的。很方便吧?

其实,vim的加密,是通过set key=这个命令来实现的。比如,你并没有使用-x选项打开一个新文件,但是你在命令行敲入了’set key=abcde’,当文件被保存的时候,就会用abcde做为密码加密了。注意,这时候的key后面的字符串,并不会以不可见的字符显示。

所以,你明白了,有一种非常简单的办法取消文件的加密,就是’set key=’,把密码设为空就可以了。

熟悉Vim的ex模式的朋友,可以直接使用Vim来加密文件,而不必打开Vim:

  1. # -e,使用ex模式,可以理解为命令模式
  2. # -s,使用安静模式,可以理解为只执行命令,不打开Vim
  3. # -c,打开文件执行的操作
  4. vim -e -s -c ":set key=password_phrase" -c ":wq" filename

用openssl加密文件

如果你要加密的文件比较少,或者你要传给你的亲密的人,这个文件不能被其它人打开的话,你可以使用openssl做文件级的加密。

openssl的enc命令,可以用于把文件加密及解密操作,它的参数就是要使用的加密算法。而参数-in、-out,是通用的,一个用于输入文件,一个用于输出文件。

还是老规矩,我直接把命令写出来,加上详细一些的注释。

  1. # 把文件diary.tex加密,用des3加密算法,加密完成后,输出文件为diary.tex.des3
  2. # des可以换成很多其它的加密算法。详细列表,请用openssl enc --help查看
  3. openssl enc -des3 -in diary.tex -out diary.tex.des3
  4. # 把文件diray.tex.des3解密,文件是用des3加密过的,解密完成后,输出文件为diary.tex
  5. openssl enc -d -des3 -in diary.tex.des3 -out diary.tex

如果你像我一样,使用Vim做为编辑器,可以把这两行加入到你的配置脚本中去。

  1. " 打开.des3结尾的文件时,把它当做用openssl enc -des3加密过的文件,先解密,再打开显示。
  2. autocmd BufReadPost     *.des3          %!openssl enc -d -des3 -in "%"
  3. " 保存.des3结尾的文件时,把当用openssl enc -des3先加密。
  4. autocmd BufWritePost     *.des3          %!openssl enc -des3 -out "%"
原文:http://blog.csdn.net/naihe2010/article/details/7224971

本文出自 传播、沟通、分享,转载时请注明出处及相应链接。

本文永久链接: http://www.db.run/?p=1861

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Ɣ回顶部