加密单个文件并即时读取/编辑

加密单个文件并即时读取/编辑

我有一个想要加密的文本文件。我可以使用任何常用软件轻松地做到这一点。但是,我希望能够单击它,提供密码,并且能够读取、编辑和关闭它。全部来自 GUI,应该与 KDE 兼容,并且编辑器可能应该是 Kate。理想情况下,这应该在单个 KRunner 调用中可用。替代 CLI 方法也可以,但应包含在单个命令/函数/别名中。

一种可能是创建一个加密文件夹。然后仅在访问时挂载该文件夹,并在文本编辑器关闭后立即卸载,所有这些都通过单个 CLI 命令完成。不过,这对我来说有点老套,而且我更愿意只从 KRunner 进行呼叫。

总结一下,遵循建筑维基百科一点点:

  • 我想保护单个文件,以防我的电脑被盗。当然,专业的数据挖掘者最终会接触到它,我接受这一点。
  • 该文件应该可以通过密码访问(读/写访问)即时(按需)
  • GUI 方法是首选,但 CLI 方法也可以,只要它们可以使用 .desktop 文件调用(通过 KRunner 访问)
  • 我没有首选的加密方法,只要它足够快、安全并且开源
  • 加密文件夹的结构和文件名(如果这是唯一的方法)可以是透明的,只要内容不可访问。
  • 例如,只要验证密钥不需要几分钟的时间,任何加密方法都可以接受

答案1

对于一次仅一个文件或非常偶然的文件,我认为使用 EncFS/eCryptFS/dm-crypt/LUKS 的整个加密驱动器或主目录将是过度杀伤力(但在被盗的情况下会很好地工作)。

使用 bash 函数来解密、编辑、重新加密的解决方案听起来更像是您正在寻找的。使用它gpg是因为它默认安装在我见过的几乎所有 Linux 上,并且已经存在了几十年,而且应该还有几十年,所以看起来适合长期存档。像这样的东西可以放入.bashrc文件中并在终端中使用,或者合并到文件管理器的“右键单击”菜单中也应该可以工作(我对 KDE 不太熟悉,无法做到这一点,但如果你是的话,它应该'不会非常困难)。

这些快速的小函数会将第一个参数$1作为文件名进行解密/tmp/gpg-edit.out(可以使用 tmpfs/ramdisk 以获得更好的安全性),使用gedit(或您最喜欢的编辑器)进行编辑,并在完成编辑后重新加密文件。他们使用“密码文件”,其中仅读取第一行并将其用作密码,因此应将其保存在安全的地方(也许是 tmpfs/ramdisk),但您可以省略它,并且gpg每次都会询问您密码。

edit-gpg() {
gpg -v --no-use-agent --passphrase-file=/path/to/keyfile --output "/tmp/gpg-edit.out" "$1" &&
gedit "/tmp/gpg-edit.out" &&
gpg -v --no-use-agent --cipher-algo AES256 --passphrase-file=/path/to/keyfile --output "$1" -c "/tmp/gpg-edit.out" &&
rm "/tmp/gpg-edit.out"
}

未来的待办事项将包括检查“/tmp/gpg-edit.out”文件是否已存在(gpg如果存在,现在将要求覆盖)。
或者使用随机输出文件,以便您可以一次编辑多个文件。目前,一次只有一个。
省略--no-use-agent应该让它使用 gpg 的 GUI 密码输入框,但上次我省略了该选项,它会总是使用 GUI 框并忽略选项--passphrase-file

另一个短函数最初可以使用相同的密码文件加密文件:

crypt-gpg() { 
gpg -v --no-use-agent --cipher-algo AES256 --passphrase-file=/path/to/keyfile -c "$1" &&
rm "$1"
}

答案2

Emacs 允许您.gpg透明地编辑以结尾的文件。

1)$ emacs yourfile.txt.gpg

2) 编辑您的文件。

3)C-x C-s保存,点击[OK]C-c C-c选择对称加密。然后输入并确认您的密码。

4)C-x C-c关闭Emacs。

该文件现已加密。要再次编辑它,请遵循与上述相同的过程。

相关内容