linux中的fs文件夹,linux上使用eCryptFS加密文件夹的方法
从前有一个摄影师,他不懂加密重要文件,也不懂修电脑,结果你懂的。以下就介绍下linux的加密方法及eCryptFS;
加密的类型
我们基本上有两种不同的方法可以对文件和目录进行加密。一种方法是,文件系统级加密,只有某些文件或目录(比如/home/alice)选择性地加密。在我看来,这是一种理想的入门方法。你没必要重新安装一切来启用或测试加密。不过,文件系统级加密存在一些缺点。比如说,许多现代的应用程序将文件(或文件的部分内容)缓存在硬盘中的未加密区域,比如交换分区、/tmp和/var文件夹,它们会导致隐私泄密。
另一种方法是所谓的全磁盘加密,这意味着整个磁盘都经过了加密(主引导记录可能除外)。全磁盘加密在物理磁盘层面实现;写入到磁盘上的每个比特数据都经过了加密,从磁盘读取的任何数据自动实时解密。这可以防止任何人可能未经授权就访问未加密的数据,并且确保整个文件系统里面的所有数据都经过了加密,包括交换分区或任何临时缓存的数据。
可用的加密工具
在Linux中实施加密机制有几种办法。我在本教程中将介绍一种选择:eCryptFS堆叠加密文件系统工具。下面整理出了几种可用的Linux加密工具,仅供参考。
文件系统级加密
•EncFS:这是尝试加密的最容易的方法之一。EncFS作为堆叠文件系统来运行,所以你只要创建一个加密的文件夹,将它挂载到文件夹上即可使用。
相关链接:http://www.arg0.net/encfs
•eCryptFS:作为一款与POSIX兼容的加密文件系统,eCryptFS的工作方式与EncFS如出一辙,所以你得挂载它。
相关链接:http://ecryptfs.org
全磁盘加密
•Loop-AES:这是最古老的磁盘加密方法。它运行起来速度很快,可以在旧系统(比如内核2.0分支版本)上使用。
相关链接:http://sourceforge.net/projects/loop-aes/
•DMCrypt:现代Linux内核支持的最常见的磁盘加密方案。
相关链接:https://code.google.com/p/cryptsetup/wiki/DMCrypt
•CipherShed:这是现已停止开发的TrueCrypt磁盘加密软件的开源分支版本。
相关链接:https://ciphershed.org
eCryptFS的基础知识简介
eCryptFS是一种堆叠加密文件系统,自2.6.19以来,它就得到Linux内核的支持(作为ecryptfs模块)。用eCryptFS加密的伪文件系统挂载到你现有的文件系统上。它在EXT文件系统系列及其他文件系统(比如JFS、XFS、ReiserFS和Btrfs,甚至NFS/CIFS共享区)上运行起来非常顺畅。
1 安装eCryptFS
安装到Debian、Ubuntu或衍生版本上:
$ sudo apt-get install ecryptfs-utils
注意:如果你决定在Ubuntu安装过程中加密你的主目录,就要确保eCryptFS应该已经安装。
安装到CentOS、RHEL或Fedora上:
# yum install ecryptfs-utils
安装到Arch Linux上:
$ sudo pacman -S ecryptfs-utils
为了稳妥起见,安装程序包后,装入eCryptFS内核模块是个好的做法:
$ sudo modprobe ecryptfs
配置eCryptFS
现在不妨运行eCryptFS配置工具,开始加密某个目录:
2 创建登录密码和挂载密码
ecryptfs-setup-private
如下图所示:
3 挂载私人文件
a) 创建文件夹 mkdir /root/tPrivate
b) 修改文件夹权限,使其他人无法访问这个文件夹 chmod 700 /root/tPrivate
c) 用ecrypt挂载文件夹(加密) mount -t ecryptfs /root/tPrivate /root/tPrivate
d) 在挂载过程中会遇到询问提示
首先需要输入挂载密码(不同于登录密码)
然后需要选择密钥计算方式(直接回车为默认)
接着需要输入加密长度(直接回车为默认)
接着需要选择是否允许将未加密文件放入此文件夹中(默认为不允许)
此时提示挂载成功
4)测试
a)创建文件,并输入内容,例如:gedit /root/private/test 输入内容“this is a test file content”。
b)查看文件,输入 cat /root/private/test 会看到 this is a test file content 字样
c)卸载文件,输入"umount /root/private"
d)再次查看文件内容,输入cat /root/private/test,会看到乱码。
(5)快速挂载
以后每次开机后访问加密数据前都需要重新挂载,你可以使用sudo mount -t ecryptfs ~/company_secret ~/company命令来挂载,但每次都要手工输入一堆选项也挺烦人的。为了以后方便挂载,在~/.bashrc中加入别名:
alias mount_company="sudo mount -t ecryptfs $HOME/company_secret $HOME/company -o ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n,ecryptfs_fnek_sig=cbd6dc63028e5602(需从前面记录)"
以后每次使用前只需要执行mount_company即可:
zhouzm@zhouzm:~$ mount_company
[sudo] password for zhouzm:(管理员密码)
Passphrase:(加密密码)
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=cbd6dc63028e5602
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=cbd6dc63028e5602
Mounted eCryptfs
zhouzm@zhouzm:~$ cat company/test
123456
(6) 重装系统或移动数据
你只需要记住加密密码和ecryptfs_fnek_sig参数,则即使你要重装系统或移动数据,也可以用同样的命令对数据进行解密并挂载。
linux中的fs文件夹,linux上使用eCryptFS加密文件夹的方法相关推荐
- xshell下载mysql到本地文件_在Xshell中上传下载文件到本地(linux中从多次ssh登录的dbserver里面的文件夹)-Go语言中文社区...
在Xshell中上传下载文件到本地(linux中从多次ssh登录的dbserver里面的文件夹) 1 列出所有需要copy的sh文件 -bash-4.1$ ll /mysqllog/osw/*.sh ...
- Linux挂载proc文件夹,Linux中/etc/fstab /etc/mtab /proc/mounts这三个文件的分析与比较
本文主要讲解Linux中/etc/fstab /etc/mtab /proc/mounts这三个文件的作用以及不同之处. /etc/fstab 运维都知道的文件,若想把mount的disk和dir设置 ...
- linux 备份mysql并上传_实现Linux中Mysql数据库自动备份并上传到远程FTP服务器
这篇文章很有分享价值,因为我们在实际的生产环境中需要将数据库进行自动备份,然后上传到指定的位置,当然也可以像以下文章中所讲的一样,上传到你指定的FTP服务器中,从而实现Mysql数据库自动备份并上传到 ...
- linux分区表位置,Linux中/etc/fstab /etc/mtab /proc/mounts这三个文件的分析与比较 分区表位置...
本文主要讲解Linux中/etc/fstab /etc/mtab /proc/mounts这三个文件的作用以及不同之处. 转自http://haohaozhang.blog.51cto.com/917 ...
- linux中_Linux基础知识(Linux系统、Linux中的链表)
Linux系统简介 Linux系统的结构及特点 Linux系统的结构图如下图所示: 从上图可以看出,Linux是一个典型的宏内核(一体化内核)结构.硬件系统上面时硬件抽象层,在硬件抽象层上面时内核服务 ...
- 19. linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解
linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解 文章目录 Linux权限位 读写执行 三种权限真正含义和作用 权限对文件的作用 权限对目录的作用 示例 chmod 使用数 ...
- Linux中一行命令查看网卡流量、统计网络流量的各种实现方法
Linux中一行命令查看网卡流量.统计网络流量的各种实现方法. 方法一.nload工具 源码包路径: wget http://heanet.dl.sourceforge.net/project/nlo ...
- centos sudo不能运行_如何在 Linux 中配置 sudo 访问权限 | Linux 中国
Linux 系统中 root 用户拥有 Linux 中全部控制权力.Linux 系统中 root 是拥有最高权力的用户,可以在系统中实施任意的行为.-- Magesh Maruthamuthu Lin ...
- linux中内部命令有哪些,linux内部命令有哪些
linux中常见的内部命令有:1.exit命令,退出当前的shell:2.history命令,显示历史执行过的命令:3.cd命令,切换当前工作目录:4.source命令,重新执行刚修改的初始化文件:5 ...
最新文章
- 重磅直播|结构光双目立体匹配三维重建方法
- Win7旗舰版系统右键菜单响应速度很慢会延迟一段时间
- diou ciou torch
- MySQL 数据表备份导出,恢复导入操作实践
- Bootstrap3 轮番插件的使用方法
- 【Druid IO】Instantiation of [simple type, class druid.indexing.kafka.supervisor.KafkaSupervisorTunin
- openssl证书相关
- elasticsearch监控平台cerebro-0.8.3 相关操作
- 踩坑谷歌浏览器翻译插件自动创建font节点
- Weakly Superised video anomaly detection弱监督视频异常检测
- 雷军与陈年是真爱:凡客即将“小米化”改造
- 编程程软件测试学院3周年 为你破解入职大厂的终极奥秘
- 光速类有哪些最新发表的毕业论文呢?
- 「WAYZ维智」:全国最具价值的室内外混合定位感知网络 | 百万人学AI评选
- 为页卡添加锚点的JS,输入页卡对应锚点的链接就会打开相对应的页卡
- Intel 快速存储蓝屏
- 黑马程序员 if elseif else 与if if if连用的区别
- 进制数与字符串之间的转换
- Win7配置修改neighbor
- 数字化创新应用发布加速,JFrog DevOps 正当时