如何在 Unix 中使用 tar 密码保护 .tgz 文件?

c12*_*c12 56 linux unix tar archiving password-protection

我正在使用 Unix tar 命令按如下方式对目录及其文件进行 tar 处理:

tar cvzf fileToTar.tgz directoryToTar
Run Code Online (Sandbox Code Playgroud)

有没有办法用密码保护 .tgz 文件?我已经在 Windows 上创建了受密码保护的 ZIP 文件,所以我假设 Unix 具有相同的功能。有任何想法吗?

小智 49

在文件上使用cryptgpg

简单的例子:

cat filename | crypt > filename.crypt

gpg -c –o filename.gpg filename

  • @AlexanderMills 大多数接受密码的工具会从终端而不是命令行参数提示用户输入密码,以防止密码出现在历史记录中。 (6认同)
  • 不应该使用“crypt”,因为根据现代标准,它被认为在加密方面太弱,这也是为什么它不包含在大多数 Linux 发行版中的原因。 (5认同)
  • 这没有意义,密码在哪里? (4认同)

小智 48

您可以使用命令:

zip -P password file.zip file
Run Code Online (Sandbox Code Playgroud)

或更好:

zip -e file.zip file

man zip
Run Code Online (Sandbox Code Playgroud)


thi*_*wfx 19

您可以使用gpg (=GnuPG):

gpg -o fileToTar.tgz.gpg --symmetric fileToTar.tgz
Run Code Online (Sandbox Code Playgroud)

这将提示您输入密码。

要稍后解密文件,只需执行以下操作:

gpg fileToTar.tgz.gpg
Run Code Online (Sandbox Code Playgroud)

这将再次提示您输入密码。

  • 注意:“-c”是“--symmetry”的缩写,即使用默认的对称密码,这意味着加密和解密使用相同的密码。(与非对称相反,非对称涉及公钥和私钥。) (2认同)

Kei*_*son 17

无论是tar形式还是gz格式已经内置支持密码保护的文件。

Windowszip格式结合了几种不同的功能:压缩(例如 gzip)、将多个文件归档为一个(例如 tar)、加密(例如 gnupg),以及其他可能的功能。Unix 往往有单独的工具,每个工具都可以很好地做一件事,并让您将它们组合起来。

受密码保护的.zip文件的 Unix 等价物可能会被称为foo.tar.gz.gpg或 之类的东西foo.tgz.gpg

并且有适用于 Unix的开源zipunzip工具,尽管它们可能无法提供 Windows 版本的所有功能(我很确定.zipx不支持较新的格式)。


c4b*_*058 9

您可以使用ccrypt

事物可以通过管道加密:

tar cvvjf - /path/to/files | ccrypt > backup.tar.bz2.cpt
Run Code Online (Sandbox Code Playgroud)

或者就地:

ccrypt backup.tar.bz2
Run Code Online (Sandbox Code Playgroud)

对于自动化,您可以将密钥保存到文件中并使用此密钥进行加密:

ccrypt -k ~/.passkey backup.tar.bz2
Run Code Online (Sandbox Code Playgroud)


Ahm*_*ita 5

要使用密码压缩文件,请运行以下命令:

zip -er name.zip folder/

它将显示输入隐藏密码的提示。


要解压缩文件,请运行:

unzip name.zip

并输入您之前添加的密码。