
嘿夥計們,我想知道如何 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 進行加密。