使用GnuPG加密目录?


Answers:


11

为什么不tar先加密要加密的文件,然后再加密tarball?


我发现这是解决方案。它不灵活,需要大量资源来保存tar和gpg日期。感谢您的回答!
gladimdim 2011年

@gladimdim:感谢您的接受,但是“不灵活”和“大量资源”是什么意思?还是有错字?
Alex

“不灵活”是指我需要手动将tar目录然后加gpg。我有大约60Gb的图片,现在已压缩并压缩。花了大约2个小时和4个并发的终端窗口来加快此过程。现在,我只是压缩并gpg创建我创​​建的图片的每个新目录。
gladimdim

嗯,对于该大小的数据来说,这似乎是非常合理的时间。您希望它运行得更快吗?当您需要一张照片时,您打算做什么?解密/取消所有60Gigs?
Alex

2

我刚刚--multifile在手册页上看到了该选项:

这会修改某些其他命令,以接受多个文件以在命令行上进行处理,或者从STDIN读取每个文件名并在单独的行上。这样可以一次处理许多文件。--multi-文件当前可能与--verify,-encrypt和--decrypt一起使用。请注意,--multifile --verify不可与分离的签名一起使用。

您特别需要的是--encrypt-files,再次是联机帮助页:

与--multifile --encrypt相同。


1
谢谢,这很好用,只是gpg不支持带有--symmetric选项的--multiple密钥(我只想使用密码加密)。
gladimdim 2011年

1

嘿,我读了关于被标记为例外的答案的评论;看起来您应该意识到|(匿名管道)的神奇之处,请检查一下我刚刚在超级用户上发布的答案,您会发现targpg可以连接在一起,以便在输出之前对输出进行压缩和加密。请注意,它仍然会占用大量系统资源,因此请查看man页面中的nice命令,以限制命令仅消耗一定比例的资源的能力。同样,在我想提出一些主题时,可以在命令行上总体上简化您的生活;查看文件描述符和命名管道以传递数据。

如果您希望了解上述主题后可以执行什么魔术,那么请查看Travis-CI构建日志和相关脚本,以获取与在命令行上自动化GnuPG相关的解决方案。

- - 更新

根据要求,可以在前面提到的脚本的第680行找到处理目录的示例,而更通用的示例是...

#!/usr/bin/env bash
dir_path="${1:?${0##*/} needs a directory path as the first argument}"
default_gpg_email="your-email@host.domain"
gpg_email="${2:-$default_gpg_email}"
_dir_name="${dir_path##*/}"
_dir_name="${_dir_name%/*}"
Var_star_date="$(date -u +%s)"

if [ -d "${dir_path}" ]; then
    tar -cz - "${dir_path}" | gpg --always-trust --armor --batch --no-tty --encrypt --recipient ${gpg_email} > /tmp/${Var_star_date}_${_dir_name}.tgz.gpg"
else
    echo "${0##*/} operates on directories"
    exit 1
fi

......这可能与运行script-name.sh /path/to/dirscript-name.sh /path/to/dir new-email@host.domain输出到/tmp文件目录<current-date>_<top-dir-name>.tgz.gpg


你能写一个例子吗?
Nikana Reklawyks

是的,尽管可能要花点时间:-D
S0AndS0
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.