harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

[メモ]zipコマンドでのパスワードつき暗号化圧縮

   


mysqlからダンプしたファイル"backup.sql"をパスワードつきで圧縮しようとしたところ、
普段使っているtar、gzip、bzip2ではパスワードを付けた圧縮ができなかった
(知らなかった…)ので、取り急ぎzipコマンドを使ってテスト。

# PGPとか使えばいい、という話ではあるけど…

1)コマンドラインから、オプション"-e"つきで圧縮

圧縮

$ zip -e backup.sql.zip backup.sql
Enter password:
Verify password:
  adding: backup.sql (deflated 77%)
$ ll
合計 43728
-rw-rw-r-- 1 user user 36288793  3月  8 17:30 2009 backup.sql
-rw-rw-r-- 1 user user  8483093  3月  8 17:40 2009 backup.sql.zip
$

展開

$ unzip backup.sql.zip
Archive:  backup.sql.zip
[backup.sql.zip] backup.sql password:
replace backup.sql? [y]es, [n]o, [A]ll, [N]one, [r]ename: r	←元ファイルと比較したいので、上書きせずにリネームを指定する。
new name: backup.sql.arc			←元ファイルと区別するため、ファイル名を変更。
  inflating: backup.sql.arc
$ ll
合計 79168
-rw-rw-r-- 1 user user 36288793  3月  8 17:30 2009 backup.sql
-rw-rw-r-- 1 user user 36288793  3月  8 17:30 2009 backup.sql.arc
-rw-rw-r-- 1 user user  8483093  3月  8 17:40 2009 backup.sql.zip

最後に、チェックサムを確認して終了。

$ sha1sum backup.sql
77c8d7362f38250fc4ac6ece726918411ba4a2a0  backup.sql
$ sha1sum backup.sql.arc
77c8d7362f38250fc4ac6ece726918411ba4a2a0  backup.sql.arc

問題なく展開できたのでOK。

2)オプション"-P"つきで圧縮/展開を試行

シェルスクリプトに書く際はパスワードもそのままコードに書く必要があるので
セキュアとは言い難いが、ひとまずできるよ~、ということで。

圧縮

$ zip -P 123 backup.sql.zip backup.sql
  adding: backup.sql (deflated 77%)
$ ll
合計 43728
-rw-rw-r-- 1 user user 36288793  3月  8 17:30 2009 backup.sql
-rw-rw-r-- 1 user user  8483093  3月  8 17:47 2009 backup.sql.zip

展開

$ unzip backup.sql.zip
Archive:  backup.sql.zip
[backup.sql.zip] backup.sql password:
replace backup.sql? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: backup.sql.arc
  inflating: backup.sql.arc
$ ll
合計 79168
-rw-rw-r-- 1 user user 36288793  3月  8 17:30 2009 backup.sql
-rw-rw-r-- 1 user user 36288793  3月  8 17:30 2009 backup.sql.arc
-rw-rw-r-- 1 user user  8483093  3月  8 17:47 2009 backup.sql.zip

最後に、チェックサムを確認して終了。

$ sha1sum backup.sql
77c8d7362f38250fc4ac6ece726918411ba4a2a0  backup.sql
$ sha1sum backup.sql.arc
77c8d7362f38250fc4ac6ece726918411ba4a2a0  backup.sql.arc
$

 - bash, command, GNU/Linux, メモ