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


47

我正在使用Unix tar命令,如下所示以tar压缩目录及其文件:

tar cvzf fileToTar.tgz directoryToTar

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

Answers:


40

在文件上使用cryptgpg

简单的例子:

cat filename | crypt > filename.crypt

gpg -c –o filename.gpg filename


2
这没有意义,密码在哪里?
亚历山大·米尔斯

3
@AlexanderMills大多数密码接受工具都会从终端而不是命令行参数中提示用户输入密码,以防止密码显示在历史记录中。
达菲

37

您可以使用命令:

zip -P password file.zip file

或更好:

zip -e file.zip file

man zip

zip是否知道足以在运行时清除命令行的密码部分,以使其在ps中不会显示(或只显示Millicsonds)?这是人类可读的。
tgm1024

17

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

Windows zip格式结合了几种不同的功能:压缩(例如gzip),将多个文件归档到一个文件(例如tar),加密(例如gnupg)以及其他文件。Unix倾向于拥有单独的工具,每个工具都能完成一件事,并允许您将它们组合在一起。

与Unix等效的受密码保护的.zip文件可能称为foo.tar.gz.gpgfoo.tgz.gpg

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


12

您可以使用gpg(= GnuPG):

gpg -o fileToTar.tgz.gpg --symmetric fileToTar.tgz

这将提示您输入密码。

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

gpg fileToTar.tgz.gpg

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


注意:-c的缩写--symmetric,即使用默认的对称密码,这意味着加密和解密使用相同的密码。(与涉及公共密钥和私有密钥的非对称密钥相对。)
Evgeni Sergeev

8

您可以使用ccrypt

事物可以通过管道进行加密:

tar cvvjf - /path/to/files | ccrypt > backup.tar.bz2.cpt

或就位:

ccrypt backup.tar.bz2

为了实现自动化,您可以将密码保存到文件中,并使用此密码进行加密:

ccrypt -k ~/.passkey backup.tar.bz2
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.