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。另一种方法是把它设置成在系统启动的时候开启,并在系统关闭的时候关闭。或者你也可能想要创建一些桌面图标,以便让用户可以随时按需要启动和关闭它。
ubuntu 建立加密分區及其安全刪除的更多相关文章
- [心得] SQL Server Partition(表分區) 資料分佈探討
最近在群裡有個朋友問了個問題是這樣的 用户表有一千多万行,主键是用户ID,我做了分区.但经常查询时,其它的表根据用户ID来关联,这样跨区查询,reads非常高.有什么好的处理办法?不分区的话,索引维护 ...
- Windows下擴展ubuntu虛擬機的分區大小
在虛擬分區上安裝ubuntu,8G的分区不够用,不願意重装,增加VM分区吧!先备份虛擬硬盤文件 VMWARE自带的工具:找到vmware安装目录下vmware-vdiskmanager.exe,双击無 ...
- 在 Mac OS X 中建立加密的 Zip 压缩 -- 让机密资料加上密码
在 Mac OS X 中要压缩档案的話,基本上就用滑鼠点右鍵选「压缩...」就可以制作 Zip 格式的压缩档,很方便.但如果是机密的资料要透过 Email 等管道传送时,常常会需要建立加密的 Zip ...
- mysql 建立加密连接
加密连接可提高数据的安全性,但会降低性能.要进行加密连接,必须满足以下要求: user权限表里要有相关的SSL数据列.如果安装的MySQL服务器是4.0.0版的,user权限表已包含相关的SSL数据列 ...
- ubuntu建立wifi热点的方法
原文在这里: http://www.linuxidc.com/Linux/2014-07/104624.htm 方法一:network manager 这种方法建立的热点,据说android搜不到. ...
- Ubuntu 建立桌面快捷方式
非常多时候,在Ubuntu下软件能够通过命令安装.可是有时候比較方便的方法就是下载一个压缩包,解压就能够使用了. 可是每次使用都要先跳到解压文件夹.这就比較麻烦.所以能够通过创建桌面快捷方式来解决问题 ...
- ubuntu建立软ap共享无线网络
建立ad-hoc模式共享网络 viewtopic.php?f=116&t=387194 有些android手机可能不支持ad-hoc模式,要第三方rom才行. 首先安装这些工具 代码: apt ...
- ubuntu建立文件或者文件夹软链接
文件夹建立软链接(用绝对地址) ln -s 源地址 目的地址 比如我把linux文件系统rootfs_dir软链接到/home/jyg/目录下 ln -s /opt/linux/rootfs_dir ...
- Termux和Ubuntu建立ssh连接
1 本机环境 Android:Termux v0.77 作为客户端 Linux:Ubuntu 19.10 作为服务器 两者处于同一局域网下 2 ssh安装 2.1 Termux pkg install ...
随机推荐
- LN : leetcode 515 Find Largest Value in Each Tree Row
lc 515 Find Largest Value in Each Tree Row 515 Find Largest Value in Each Tree Row You need to find ...
- Selenium 进行参数化
Selenium参数化分为大小: 小:list.dict.函数 大:txt.excel.mysql.redis 哪种方式使自己的工作简单高效就选那种!!! Selenium进行参数化有多种形式: 本文 ...
- python自动化--语言基础四模块、文件读写、异常
模块1.什么是模块?可以理解为一个py文件其实就是一个模块.比如xiami.py就是一个模块,想引入使用就在代码里写import xiami即可2.模块首先从当前目录查询,如果没有再按path顺序逐一 ...
- MFC_2.9 使用变参函数
使用变参函数 #include <stdio.h>// 包含一个头文件,提供不定参数的宏#include <stdarg.h>// 用于输出不定数量的整数值void pri ...
- java_IO_3
Reader和Writer针对字符文件 对图片类文件可能就显得无能为力了 会损坏文件 package ioStudy; import java.io.File; import java.io.Fi ...
- 03Struts2基本使用流程
Struts2基本使用流程 1.新建web工程 2.引入struts2类库 3.创建并配置Struts2的核心控制器web.xml用来拦截客户端请求并将请求转发到相应的Action类中来处理 4.创建 ...
- uploadify的简单使用
简单的图片上传: 1.进入官网下载uploadify插件:http://www.uploadify.com/download/ 2.导入uploadify插件提供的css样式和类库: <link ...
- python3.7实现九九乘法表
for i in range(1,10): for j in range(1,i+1): print("%d*%d=%d" % (i,j,i*j),end=" " ...
- java基础——String的常用方法
java中String的常用方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); i nt le ...
- jsp中的basePath,获取应用的路径
1 2 3 4 5 String path = request.getContextPath(); String basePath = request.getScheme()+": ...