7z

7z

嘿夥計們,我想知道如何 gzip 7z tar 或只是常規 zip 這樣的目錄 /var/Backups/Tones 常規 gzip 不會這樣做,因為 Tones 是一個目錄,而這個網站 ss64.com/bash 並沒有真正告訴我很多,我已經搜尋過谷歌,但那些人正在談論的是基於電腦而不是行動設備,如果可能的話,我還想保護存檔密碼?如果有幫助的話,我正在使用 bash 來做到這一點。

越獄後,這將在 iPad、iPhone 和 iPod 等 iDevice 上使用;他們有 7z gzip 和 tar。

好的,我使用以下命令對目錄進行了壓縮:

#!/bin/bash
cd /var/Backups
7z a -p{example} Tones.tar.7z

我現在的問題是,當我在 iPhone 上提取該存檔時,它甚至不要求輸入密碼,我做錯了什麼嗎?

答案1

你有多種選擇。

7z

tar -cf tarfile.tar path/to/files/
7z a tarfile.tar.7z tarfile.tar

這將創建tarfile.tar.7z.為了幫助清理,如果您安裝了它,您可以使用:

p7zip tarfile.tar

反而。

至於密碼保護,這既不是tar也不是 的選項p7zip。如果您習慣使用該7z命令,則可以-p{password}根據手冊頁為其提供一個選項。

7z a -p{password} tarfile.tar.7z tarfile.tar

這會留tarfile.tar在原處,因此您需要使用以下方法進行清理:

if 7z q -p{password} tarfile.tar.7z tarfile.tar; then
  rm tarfile.tar
fi

一個更簡單的選擇可能是在壓縮上妥協,然後使用壓縮可以-9選擇最大程度的壓縮。

請注意,這遠不如使用 PGP 或 GnuPG 正確設計的方案那麼安全,因此,如果您能找出該方法(並且複雜性不會損害您的安全性),那麼您將進一步領先。閱讀前列腺素或者GnuPG,兩者都會滿足您的需求。

壓縮包

與 7z 一樣,您無法使用單一命令列對 tar 進行密碼保護。此外,該gzip命令也不提供任何密碼保護。所以這也迫使你使用第二步:

tar czf - path/to/files/ | openssl enc -aes-256-cbc -e > tarfile.tar.gz.enc

閱讀openssl 的文檔了解如何獲取它而不是在命令行上詢問密碼。或者:

tar czf tarfile.tar.gz path/to/files/
gpg --encrypt tarfile.tar.gz

請注意,您需要先設定 gpg,然後才能正常運作。

可能有(或“肯定有”)其他方法可以做到這一點。您可能希望將此作為您自己進一步研究的起點。

壓縮

如果該zip命令包含在您的越獄 iDevice 中,那麼您可以使用以下命令:

zip -e -P{password} zipfile.zip path/to/files/

請注意,zip 的手冊頁提到了該-P選項:這是不安全的。它接著說,如果安全性確實很重要,請使用強加密(例如 Pretty Good Privacy),而不是 zipfile 公用程式提供的相對較弱的標準加密。

這些命令中的任何一個都可以放置在腳本中。如果您在編寫腳本時需要協助,請發布您到目前為止所得到的內容,以便我們提供回饋。

這就是我所擁有的一切。

答案2

tar czf your_dir.tgz your_dir/ 將建立一個壓縮檔案,大多數其他 zip 程式至少可以理解並解壓縮(如果需要)。

不過,密碼保護,tar/gzip 中沒有直接支援。使用 ghoti 提出的解決方案,或設定 GPG/PGP 並在壓縮之前對 tar 進行加密。

相關內容