ubuntuの – どのようにコマンドラインでgzipファイルをパスワードで保護するには?

bzip2 gzip security tar ubuntu

Ubuntu 10.04でtarコマンドを使って、いくつかのtar.gz(もしかしたらtar.bz2)ファイルを作成したいと思っています

ファイルをパスワードで保護したい

これを行うためのコマンドは何でしょうか(ググってみましたが、パスワードを使って圧縮ファイルを作成して解凍する方法を示しているものはありませんでした)

どなたか方法をご存知の方はいませんか?

  145  morpheous  2010-07-12


ベストアンサー

このタスクには unix の哲学を適用しなければなりません

tarリングと圧縮はtargzipまたはbzip2の仕事で、暗号化はgpgまたはopensslの仕事です

Encrypt

 % tar cz folder_to_encrypt | \
openssl enc -aes-256-cbc -e > out.tar.gz.enc

Decrypt

 % openssl enc -aes-256-cbc -d -in out.tar.gz.enc | tar xz

または gpg を使用して

 % gpg --encrypt out.tar.gz

openssl-variant はシンメトリック暗号化を使用します。 gpg-variant はシンメトリックと非シンメトリック暗号化を組み合わせて使用します

zip (または 7z) ルートを使う場合: 基本的には openssl-variant と同じですが、パスワードを受け取る側に伝えなければなりません

172  akira  2010-07-12


ファイルをパスワードで保護したい場合は、コマンドラインから hand zip ユーティリティを使用してください

zip -e <file_name>.zip <list_of_files>

-e は zip ユーティリティに、中に記載されているファイルを暗号化するように要求します

Working example:

$ touch file_{0,1}.txt # creates blank files file_0 & file_1
$ zip -e file.zip file_* # ask zip to encrypt
$ ENTER PASSWORD:
$ VERIFY PASSWORD:
$ ls file*

32  Antony Thomas  2012-06-17


これを行うためのいくつかの方法を紹介します。注意すべき点としては、圧縮と暗号化ツールを別々に使う場合は、暗号化されたデータは基本的に圧縮できないため、暗号化の前に必ず圧縮する必要があるということです

これらの例では、clear_textというファイルを圧縮したり暗号化したりしています

Using gpg

$ gpg -c clear_text #Compress & Encrypt
$ gpg -d clear_text.gpg #Decrypt & Decompress

gpgはデフォルトでは暗号化の前に入力ファイルを圧縮しますが、-cはパスワード付きの対称暗号化を使用することを意味します。出力ファイルはclear_text.gpgになります。gpgを使う利点の一つは、標準のOpenPGPフォーマットを使っているので、OpenPGPをサポートしている暗号化ソフトウェアであれば、どんなものでも復号化できるということです

Using mcrypt

$ mcrypt -z clear_text #Compress & Encrypt
$ mdecrypt -z clear_text.gz.nc #Decrypt & Decompress

-zオプションは圧縮します。デフォルトでは、clear_text.gz.ncというファイルを出力します

Using bcrypt

$ bcrypt -r clear_text #Compress & Encrypt
$ bcrypt -r clear_text.bfe #Decrypt & Decompress

bcryptは、デフォルトでは暗号化する前に圧縮しますが、 -rオプションは、入力ファイルが途中で削除されないようにするためです。出力ファイルはデフォルトではclear_text.bfeと呼ばれます

gzipaespipeを使う

$ cat clear_text | gzip | aespipe > clear_text.gz.aes #Compress & Encrypt
$ cat clear_text.gz.aes | aespipe -d | gunzip > clear_text #Decrypt & Decompress

aespipe はその名の通り、標準入力を受けて標準出力に aes 暗号化されたデータを出力するプログラムです。これは圧縮をサポートしていないので、入力を最初に gzip でパイプすることができます。出力は標準出力に送られるので、自分で選んだ名前のファイルにリダイレクトする必要があります。おそらく、あなたが求めていることを行うための最も効果的な方法ではないでしょうが、aespipe は汎用性の高いツールなので、言及する価値があると思いました

23  Graphics Noob  2014-05-01


7zipを使ってパスワードで保護されたアーカイブを作成することができます。コマンドライン(またはスクリプト)でパスワードを指定する方法は以下の通りです

7z a -p<password> <someprotectedfile>.7z file1.txt file2.txt

7zipは以下のようにSTDINからも読み込むことができます

cat <somefile> | 7z a -si -p<password> <someprotectedfile>.7z

zip ファイルの使用が必須である場合は、-t<type> パラメータ (-tzip など) を使って遊んでみるのもいいかもしれません

18  SaeX  2014-10-17


tar、gzip、bzip2 はいずれもパスワード保護をサポートしていません。zip のようなパスワード保護をサポートしている圧縮形式を使うか、GnuPG のような別のツールで暗号化してください

7  Ignacio Vazquez-Abrams  2010-07-12


Create with:

tar czvf - directory | gpg --symmetric --cipher-algo aes256 -o passwordprotectedarchive.tar.gz.gpg

パスワードの入力を求められます

Decrypt with:

gpg -d passwordprotectedarchive.tar.gz.gpg | tar xzvf -

6  LHolleman  2017-05-23


タイトルとURLをコピーしました