使用cryptmount创建加密镜像保存机密文件
source link: https://www.lujun9972.win/blog/2018/02/08/%E4%BD%BF%E7%94%A8cryptmount%E5%88%9B%E5%BB%BA%E5%8A%A0%E5%AF%86%E9%95%9C%E5%83%8F%E4%BF%9D%E5%AD%98%E6%9C%BA%E5%AF%86%E6%96%87%E4%BB%B6/index.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
使用cryptmount创建加密镜像保存机密文件
cryptmount是一个创建、挂载和卸载加密镜像的工具,你可以用它来创建一个加密镜像并挂载到文件系统中,然后将机密文件存入其中,再卸载这个镜像,这样就能做到神不知、鬼不觉地保存机密文件了。
安装cryptmount
cryptmount是archlinux中的aur仓库中,因此可以通过下面命令来安装
yaourt -S cryptmount
但是在我在安装过程中会提示无法下载cryptmount的源码包,需要修改PKGBUILD中的 source
的地址。
我将之改成了 https://netix.dl.sourceforge.net/project/cryptmount/cryptmount/cryptmount-5.2/cryptmount-5.2.3.tar.gz
安装好后会在 /usr/bin
下多出一个 cryptmount
文件
配置cryptmount
使用root修改 /etc/cryptmount/cmtab
,加入下面内容
SecureImage { #配置项名称 dev=/home/lujun9972/SecureImage.img #加密镜像的目录,必要 dir=/mnt/crypt #镜像挂载的路径 fstype=ext4 #文件系统类型,必要 mountoptions=defaults #挂载选项 cipher=aes #加密算法 keyfile=/etc/cryptmount/SecureImage.key #密钥文件,必要 keyformat=builtin #密钥的管理策略 }
具体关于 cmtab
的格式说明,可以运行 man 5 cmtab
创建镜像文件
使用 dd
创建一个镜像文件:
dd if=/dev/zero of=/home/lujun9972/SecureImage.img bs=1M count=128
这里我创建了一个128M的镜像文件,路径为 /home/lujun9972/SecureImage.img
注意,镜像文件的路径跟 cmtab
中 dev
的值一致
创建密钥文件
sudo cryptmount --generate-key 32 SecureImage
然后输入密码.
注意这里的SecureImage是 cmtab
中的配置项名称
cryptmount就根据 cmtab
中cmtab的 keyfile
生成对应的密钥文件了
格式化镜像文件
首先根据镜像文件来创建设备文件,运行:
sudo cryptmount --prepare SecureImage
会创建一个设备文件: /dev/maper/SecureImage
然后使用 mke2fs
来创建文件系统
sudo mke2fs /dev/mapper/SecureImage
格式化完成后就可以释放该设备了
sudo cryptmount --release SecureImage
挂载和卸载加密镜像
首先当然是创建挂载点了:
sudo mkdir -p /mnt/crypt
然后挂载加密镜像
cryptmount -m SecureImage
然后输入密码就挂载成功了,注意这一步是无需root权限的哦~~
不过这个时候你会发现挂载点 /mnt/crypt
的所有者是root了,你需要改一下所有者
sudo chown lujun9972:lujun9972 /mnt/crypt/
这样下一次重新挂载则无需再修改所有者了.
卸载加密镜像则执行
cryptmount -u SecureImage
同样的,卸载加密镜像也是无需root权限的。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK