ubuntu 建立加密分區及其安全刪除

加密分區

1: sudo apt-get install cryptsetup

2: 用“磁盤實用工具“,建立新的分區 或者 格式化現有分區,且勾選“加密底層設備“,按提示設定密碼

3:同時選擇加密條件:i)立刻忘記。ii)登出后忘記。 iii)一直記住。 《建議選用 i)》

安全刪除

shred命令

shred [option(s)] file(s)_or_devices(s)

-f, –force – 更改权限允许写入(如有必要)

  -n, –iterations=N – 重写N次而不是默认的(25)次

  -s, –size=N – 将文件粉碎为很多字节(可使用后缀如K、M、C等)

  -u, –remove – 重写后截短和移除文件

  -v, –verbose – 显示进程

  -x, –exact - do not round file sizes up to the next full block

  -z, –zero - add a final overwrite with zeros to hide shredding

    –help – 显示帮助并退出

–version – 输出版本信息并退出

-shred 标准输出

Shred示例

1)下列命令能够用于安全删除三个文件夹:file1、file2和file3: 

shred file1 file2 file3

2) 下列命令将删除第一个HDD的第七个分区上的数据:

shred /dev/hda7

3) 要想删除硬盘上所选分区的数据,可以使用下列命令:

shred –verbose /dev/sda5

參考link: http://www.2cto.com/Article/201001/44179.html

文獻

Debian,Ubuntu,还有Fedora都可以用cryptsetup-luks了。你不需要修改内核或者其他任何东西;你只要安装就行了。

Debian和Ubuntu 系列上:

# aptitude安装cryptsetup

在Fedora上:

#yum安装cryptsetup-luks

让系统做好准备

不幸的是,cryptsetup不能给你系统中现有的数据加密;因此你必须创建加密的分区,然后将数据转移到新建的分区中。用GParted(Gnome分区编辑器)来管理分区很方便,所有主流的Linux版本上都有GParted。你可以用它重新设置分区大小、移动、删除或者创建分区,并且可以选择自己喜欢的文件系统格式化方式。它能够支持你系统内核所支持的所有的分区类型以及文件系统,因此如果你机器上是双系统的话,你甚至可以在Windows分区上使用该工具。如果是新的硬盘分区上的话,你可以用Gparted live CD。

如果你把密码弄丢了,那就太不幸了,你就无法取回这些数据了。

给分区加密

有了新的空白分区后,你可以用cryptsetup命令来给它加密。注意一定确保是在加密要保护的那个分区:

# cryptsetup --verbose --verify-passphrase -c aes-cbc-plain luksFormat /dev/sda2

当心!

这将把不可逆转地改写/dev/sda2 上的数据。

Are you sure? (Type uppercase yes): YES

Enter LUKS passphrase:

Verify passphrase:

Command successful.

以上命令创建加密的分区。现在我们需要创建可以装载的逻辑分区,并给它命名。本例中,我们给它命名为sda2,你也可以叫它test、fred、我的秘密分区或者任何你喜欢的名字:

# cryptsetup luksOpen /dev/sda2 sda2

Enter LUKS passphrase:

key slot 0 unlocked.

Command successful.

如下命令将显示/dev/mapper路径中的隐藏设备:

$ ls -l /dev/mapper

total 0

crw-rw---- 1 root root 10, 63 2007-06-09 18:38 control

brw-rw---- 1 root disk 254, 0 2007-06-09 19:46 sda2

现在把文件系统放到逻辑分区上:

# mkfs.ext3 /dev/mapper/sda2

你需要做一个装载点,这样你就能装载并且使用这个新的、加密过的分区了。记住,你必须从/dev/mapper/路径下使用该设备。我会把它放在根目录下。注意哪些需要根权限的操作:

$ mkdir /home/me/crypted

# mount /dev/mapper/sda1 /home/me/crypted

确保它被装载了,编写一个测试文件:

# df -H

[...]

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/sda2 7.9G 152M 7.3G 3% /home/carla/crypted

# cd /home/me/crypted

# nano test

# ls

lost+found test

让它对用户可用

到目前为止一切顺利!但还有一个大问题:只有本地才能访问该分区。我们得让普通用户也能使用它。你可以在/etc/fstab中能够管理这个虚拟分区,就像管理其他分区一样。往/etc/fstab中加入一行,以便允许没有特殊权限的用户来加载或者卸载该分区:

/dev/mapper/sda2 /home/carla/crypted ext3 user,atime,noauto,rw,dev,exec,suid 0 0

这样Carla可以自己加载这个分区了:

$ mount ~/crypted

但是Carla仍然无法往其中写入数据。因此我们再次需要设置本地权限,把正确的权限和许可方如已经加载的隐藏设备:

# chown carla:carla /home/carla/crypted/

# chmod 0700 /home/carla/crypted/

好了那么,很多人都可以像Carlas一样了!但是我们需要让Carla读写一些加密的文件夹,而让其他人无法读写这些文件夹。

你可以卸载并且手动关闭加密分区:

$ umount crypted

# cryptsetup luksClose sda2

只有在打开加密设备的时候,你才需要输入LUKS密码。记住,如果丢了密码,你就完蛋了。你可以删除分区重新再来,但是数据是无法恢复的。打开加密设备并加载以后,你就可以像使用其它分区一样使用它了。

你得用本地权限来运行cryptsetup。这对用户来说可能不是很方便。我们也有很多针对这个问题的解决方法。其中一种就是使用sudo;Ubuntu用户有现成的全功能的sudo。另一种方法是把它设置成在系统启动的时候开启,并在系统关闭的时候关闭。或者你也可能想要创建一些桌面图标,以便让用户可以随时按需要启动和关闭它。