Ubuntu 8.10 Intrepid Ibex 带来有趣的、新的安全特性,桌面用户和服务器用户都适用 Encrypted ~/Private Directory.
一、建立你的私人文件夹
1、安装ecryptfs-utils
sudo apt-get install ecryptfs-utils
2、建立私人文件夹
ecryptfs-setup-private
3、输入你的登陆密码,然后输入一个挂载密码或者(不输)随机产生一个 (在安全位置记好这两个密码,你手动恢复时要用到。)
4、注销,然后再登陆,建立挂载点
二、使用私人文件夹
登陆后,你写进的所有文件或者文件夹 ~/Private 将会被加密,写进隐藏的目录。~/.Private. 将你的密码、Email、其他数据储存在 ~/Private
教你个好主意,将你的.evolution/, .ssh/ .gpg/文件夹中的内容移到 ~/Private中,在原来的文件夹中建个软连接替代他们。
确保你要保护的应用程序的内容没有在运行 (例如Firefox或者 Evolution)
ps -ef | grep evolution
将应用程序的数据文件夹 (例如 ~/.mozilla or ~/.evolution)移动到 ~/Private 目录
mv ~/.evolution ~/Private
建立旧位置到新位置的连接
ln -s ~/Private/.evolution ~/.evolution
三、手动恢复你的数据
这些步骤仅仅是用在非正常,或者紧急情况下,你必须手动挂载你的加密私人文件夹来恢复数据。你可以用这些步骤来挂载,如果它被备份在不同的系统下,或者使用live-cd,但至少是运行在 Linux 2.6.26 kernel下
使用sudo:
sudo mount -t ecryptfs /home/username/.Private /home/username/Private
Selection(选择模式): 4 (使用密码模式)
Passphrase: (输入 mount 你建立挂载点的密码,这不同于你的 登陆密码。)
Selection: aes (使用 aes加密方法)
Selection: 16 (使用16位的密码)
Enable plaintext passthrough: n
假设你键入正确的密码你就可以临时进入 /home/username/Private . 既然你是使用的超级用户,你会得到一个警告,你也许会输错密码:
警告: 参见 [/root/.ecryptfs/sig-cache.txt],你从来没有用这个密码来挂载。
it looks like you have never mounted with this key
before.这意味着你输错密码。
忽略这个警告没什么问题
四、恢复你的挂载密码
假如,你没有写下挂载密码,你可用登陆密码来解密这个文件来恢复。
(~/.ecryptfs/wrapped-passphrase )
命令: ecryptfs-unwrap-passphrase ~/.ecryptfs/wrapped-passphrase “login passphrase”(“ ”输入你的登陆密码)
然后最好清除你的shell历史这样就可以删除你的登陆密码,这是个很好的主意。
命令: history -c
如果你的登陆密码是正确的。你的挂载密码会出现在屏幕上 。
如果你丢失了 wrapped-passphrase 文件,并且忘记了密码。那是不可能进入你的加密区的。
注意!!
如果你设置了没有密码自动登陆,那么加密目录 ~/Private是不会自动挂载的。
文件和文件夹名不会被加密(Bug #264977).
挂载为/home的网络挂载(NFS, CIFS, Samba),在这下面加密私人文件夹会有点问题 bug#277578 & #289747).
登陆的超级用户可以进入到文件夹。一个例子就是如果~/Private被挂载了,那么做备份也会备份到私人文件夹,除非~/Private文件夹排除在外。
如果你把所有的.ssh放在 ~/Private中, 一些用户会报告说不能用公共密匙远程登陆到系统。在这种情况下你或许仅仅只要把自己的私匙放在 ~/Private中, 其他的不动。
如果你把应用程序数据储存在加密的私人文件夹中,当你没有挂载私人文件夹时,你的应用程序会运行不正常。
如有错误,请及时指出!
个人测试的小体验:
其实真正的文件是储存在~./Private下。
使用其他用户登陆时,~/Private 是不会自动挂载的。
使用其他用户登陆, ./Private 下的文件是可以看到的,但是即使你cp出来,文件内容是看不到的(被加密了)
在本用户下,当你运行sudo umount -a 时,私人文件夹将被卸载
当我在其卸载后在本用户或者其他用说用户下试图运行命令:
sudo mount -t ecryptfs /home/username/.Private /home/username/Private
进行挂载时,试了多次没有成功,密码没有错。我还用上面的第四点来恢复密码来解密,密码出来了,是那个密码,但是不知道为什么用这密码挂载,怎么没有用。