如何将ecryptfs与非主目录一起使用
我想使用ecryptfs加密随机目录(即,不是我的主目录或其子目录,主要是由于我的主分区上的磁盘空间限制),并在我登录我的帐户时挂载该目录。 我无法看到如何做到这一点,即使现有软件确实可行。 我看过提供模糊建议的post(例如,将mount.ecryptfs_private
与ALIAS选项一起使用),但我还没有找到关于如何执行此操作的简单逐步说明。 有人能够提供这些说明或指导我到哪里找到它们吗?
你只关注像ecryptsfs-setup-private
和ecryptsfs-mount-private
这样的超级简单脚本,他们使用你似乎在寻找的更“通用”的工具: mount.ecryptfs
和ecryptfs-add-passphrase
。 有关详细信息,请参阅其man
页。
Rinzwind发布的链接提供了您需要的所有信息,在手动设置下的页面下方。 它们很长,但非常短的版本是:
“手动设置”方式(archlinux wiki)
首先根据需要选择ALIAS。 通过本节,ALIAS将是秘密的。 创建所需的目录/文件:
$ mkdir ~/.secret ~/secret ~/.ecryptfs $ touch ~/.ecryptfs/secret.conf ~/.ecryptfs/secret.sig
~/.secret
目录将保存加密数据。 ~/secret
目录是挂载点,其中~/.secret
将作为ecryptfs文件系统挂载。
[现在创建实际的挂载密码 (简单脚本将从/dev/urandom
选择一个伪随机的32个字符),使其成为一个好的]
$ echo "$HOME/.secret $HOME/secret ecryptfs" > ~/.ecryptfs/secret.conf $ ecryptfs-add-passphrase Passphrase: Inserted auth tok with sig [78c6f0645fe62da0] into the user session keyring
将上一个命令的输出签名(ecryptfs_sig)写入〜/ .ecryptfs / secret.sig:
$ echo 78c6f0645fe62da0 > ~/.ecryptfs/secret.sig
-
可以使用用于文件名加密的第二密码短语。 如果您选择这样,请将其添加到密钥环:
$ ecryptfs-add-passphrase Passphrase: Inserted auth tok with sig [326a6d3e2a5d444a] into the user session keyring
如果运行上面的命令,请将其输出签名(ecryptfs_fnek_sig)附加到〜/ .ecryptfs / secret.sig:
$ echo 326a6d3e2a5d444a >> ~/.ecryptfs/secret.sig
最后,在〜/ secret上挂载〜/ .secret:
$ mount.ecryptfs_private secret
要卸载〜/ .secret:
$ umount.ecryptfs_private secret
-
或者你可以自己弄脏自己的手,并遵循没有ecryptfs-utils的指示。
-
或者,如果您已经查看了简单的脚本
ecryptsfs-setup-private
和ecryptsfs-mount-private
,您可以复制它们并编辑它们以指向您的首选目录,只需要一点技巧和耐心。 -
或者只是以某种方式自己存储密码(最好是安全地)并且像
man ecryptfs
页面的例子一样(必须阅读手册页):The following command will layover mount eCryptfs on /secret with a passphrase contained in a file stored on secure media mounted at /mnt/usb/. mount -t ecryptfs -o key=passphrase:passphrase_passwd_file=/mnt/usb/file.txt /secret /secret Where file.txt contains the contents "passphrase_passwd=[passphrase]".
除了加密的主文件夹和家里的加密文件夹 – 嵌套的eCryptfs文件夹
并且,加密的主文件夹通常在/home/.ecryptfs/user/
存储文件,而加密的Private文件夹在您自己的主文件夹中包含文件。 你不能同时使用两者,eCryptfs不会做嵌套的加密文件夹。 但是拥有一个加密的家庭和家外的加密文件夹是可以的。
-
我刚尝试使用加密的家庭
sudo adduser --encrypt-home jack
创建一个新用户它创建了一个
/home/.ecryptfs/
文件夹,其中包含:-
/home/.ecryptfs/jack/.ecryptfs/
– 在登录时将passphrase&config文件包装到automount jack的主页 -
/home/.ecryptfs/jack/.Private/
– 实际加密的家庭文件,登录时挂载到/home/jack/
。还有
/home/jack/
文件夹,但它包含一个链接,无论是否登录都会保留在那里:/home/jack/.ecryptfs/ -> /home/.ecryptfs/jack/.ecryptfs
-
接下来我登录为jack,但链接仍然存在,所以尝试运行
ecryptfs-setup-private
导致它查看/home/jack/.ecryptfs/
但是真的看到/home/jack/.ecryptfs/
的现有文件/home/.ecryptfs/jack/.ecryptfs
因此无法创建另一个密码文件并且失败并显示ERROR: wrapped-passphrase file already exists, use --force to overwrite.
尝试上面的“ALIAS”步骤,使用加密主页内的 .secret文件夹失败,出现以下错误:
Mount on filesystem of type eCryptfs explicitly disallowed due to known incompatibilities
Reading sb failed; rc = [-22]
“eCryptfs不支持在加密目录中嵌套加密目录。抱歉。” – eCryptfs作者和维护者
-
更改插孔家外的ALIAS文件夹,尝试
/tmp/.secret/
工作 。 但是如果杰克日志输出,则新的加密文件夹将保持挂载状态 ,因此您必须卸载它(umount.ecryptfs_private secret
)。
-
如果你想像encfs一样使用它,你可以使用/etc/fstab
的以下条目来完成它
/tmp/.geheim /tmp/geheim ecryptfs rw,no_sig_cache,ecryptfs_fnek_sig=1f7aefb9e239099f,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n,passphrase_passwd=geheimpw,user,noauto 0 0
geheim是秘密的德语词,但确保它不是关键词。 您必须首先创建目录。 你应该第一次离开ecryptfs_fnek_sig=1f7aefb9e239099f
。 然后mount /tmp/geheim
会显示正确的值。
您可以将密码存储在其他位置并设置更复杂的选项。 你会发现man ecryptfs
所有选项。
ecryptfs /destination/to/encrypted/storage /destination/to/seeing/unencrypted/data
例如:
ecryptfs /home/$USER/EFILES /home/$USER/Downloads/RANDOMDIRECTORY
使用上面的命令创建并挂载加密系统,其中保存在RANDOMDIRECTORY中的文件被加密并保存到EFILES。
补充说明。 开始时确保RANDOMDIRECTORY为空。 一旦您运行上述命令,系统已安装并准备就绪,如果系统已挂载,您在RANDOMDIRECTORY中保存的所有文件都将加密到EFILES。 对于快速moount / unmount,您可以创建bash脚本,并通过应用程序快捷方式运行它,也可以创建别名命令以进行快速安装。
我已经用了一年多了。
编辑:回家确认,你的命令不是ecryptfs。 它的包围即
encfs /destination/encrypted /destination/unencrypted
对于那个很抱歉。 有了这个,你将不得不安装一个新的程序(可能)