通过终端加密文件和文件夹


Answers:


15

您可以使用gpg加密和解密文件

加密文件

gpg -c file.to.encrypt

解密文件

gpg file.to.encrypt.gpg

但是gpg不会做整个目录。对于整个目录,您有几种选择,ecryptfs很受欢迎。

# Install if ecryptfs-utils if needed
sudo apt-get install ecryptfs-utils

# Make an encrypted directory
ecryptfs-setup-private

这将使目录为“私人”。Private注销时,放入目录的所有数据将自动进行加密,而登录时将进行解密。

如果您想要其他行为或其他目录...

mkdir ~/secret
chmod 700 ~/secret

sudo mount -t ecryptfs ~your_user/secret ~your_user/secret

将您的数据放入〜/ secrte

加密

sudo umount ~your_user/secret

解密

sudo mount ./secret ./secret -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=no,ecryptfs_enable_filename_crypto=yes

提示:为第二个命令命名。

有关其他详细信息,请参见http://bodhizazen.com/Tutorials/Ecryptfsman ecryptfs


10

ecryptfs当然可以对文件和文件夹进行加密,以确保写入磁盘的数据始终处于加密状态,并且需要访问明文上下文的应用程序可以无缝地进行加密。

但是,要具体回答您的问题,您当然可以使用密码和gpg加密单个文件:

gpg -c /tmp/file > /tmp/file.gpg

要加密文件夹,您应该将tar与gpg结合使用:

tar zcvf - /tmp/directory | gpg -c > /tmp/directory.tar.gz.gpg

3
对于任何快速阅读本文并对结果感到困惑的人.. 14.04 gpg -c /tmp/file > /tmp/file.gpg上的代码不会返回我期望的结果,而是写入一个空文件。我的用法是gpg -c /tmp/file将.gpg扩展名自动添加到结果文件中。
Phil

1

encfs正如社区文档建议的那样,效果很好。

安装:要安装,必须首先添加Universe资源库

然后发出命令:

sudo apt install encfs

然后只需键入到终端:encfs encrypted visible在名为当前目录下创建文件夹encryptedvisible和设置密码。

例如,如果我在默认的(家庭)目录(使用pwd,看你在哪里),这将创建文件夹/home/ijoseph/visible/home/ijoseph/encrypted我,因为我的用户名是ijoseph

visible可以读写,并将其数据加密存储在encrypted文件夹中。

要“隐藏”数据并仅保留文件夹的加密版本,请键入 fusermount -u visible。通常,出于保护目的,在注销或物理移动笔记本电脑之前,您需要执行此操作。visible键入时,您会注意到文件夹中的所有内容都消失了ls

要重新安装(重新获得对该visible文件夹的读取/写入访问),请encfs encrypted visible再次运行。


感谢您的回答!如果我敢于提出建议,可以通过添加新用户安装和使用encfs
Elder Geek

2
我的意思是说,Ubuntu的新用户几乎没有经验。抱歉,我不清楚。看来您的用法已经很详尽了,但是Ubuntu新手可能不知道如何访问Universe存储库和进行安装encfs。干杯!
年长者怪胎

2
ElderGeek想要说的是,也许您可​​以使答案对
菜鸟

1
那更好。;-)
极客长老

1
如有疑问,packages.ubuntu.com可提供大量信息。在我的快速拨号上。;-)
极客长老
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.