2012年11月7日水曜日

Linuxのzipコマンドでパスワード付ファイル作成


このご時世、メールに添付するファイルはパスワード付zip化することが必須のようです。
さらに、そのパスワードは別メールで送付する。ってそれにどんな意味があるのか不明ですが…。
それはさておき、サーバから自動送信されるメールの添付ファイルもパスワード付にすることが
できるんじゃないかと調べたところ、やっぱり出来ました。そりゃそうだよね。

■構成情報
・OS:      CentOS6.3(64bit)
・zip:     3.0(OSバンドル)


■パスワード付zipファイル作成

[root@cent63 ~]# zip -P secret -r pass.zip /var/www/html
  adding: var/www/html/ (stored 0%)
  adding: var/www/html/wget/ (stored 0%)
  adding: var/www/html/wget/index.css (deflated 31%)
  adding: var/www/html/wget/zunou.html (deflated 66%)
  adding: var/www/html/wget/link_pass.js (deflated 69%)
(省略)
まさか説明いらんと思いますが、パスワードは「secret」で、圧縮対象は「/var/www/html」です。
ディレクトリごと圧縮するので「-r」オプションを指定しています。

■中身を確認

[root@cent63 ~]# unzip -Z pass.zip
Archive:  pass.zip
Zip file size: 18989 bytes, number of entries: 23
drwxr-xr-x  3.0 unx        0 bx stor 13-Jan-06 22:19 var/www/html/
drwxr-xr-x  3.0 unx        0 bx stor 13-Jan-06 22:19 var/www/html/wget/
-rw-r--r--  3.0 unx      214 TX defN 03-Jan-08 02:17 var/www/html/wget/index.css
-rw-r--r--  3.0 unx     6230 TX defN 13-Jan-06 22:19 var/www/html/wget/zunou.html
-rw-r--r--  3.0 unx     1476 TX defN 08-Mar-23 18:13 var/www/html/wget/link_pass.js
(中略)
-rw-r--r--  3.0 unx     5356 TX defN 13-Jan-06 22:19 var/www/html/wget/index_link.cgi
23 files, 23503 bytes uncompressed, 13967 bytes compressed:  40.6%
[root@cent63 ~]#
⇒下記コマンドでも同等の結果が得られます。
[root@cent63 ~]# zipinfo pass.zip

■パスワード付zipファイル解凍

[root@cent63 ~]# unzip -P secret -d /tmp/ pass.zip
Archive:  pass.zip
   creating: /tmp/var/www/html/
   creating: /tmp/var/www/html/wget/
  inflating: /tmp/var/www/html/wget/index.css
  inflating: /tmp/var/www/html/wget/zunou.html
  inflating: /tmp/var/www/html/wget/link_pass.js
(省略)

■すでに同名ファイルが存在する場合は確認あり

[root@cent63 ~]# unzip -P secret -d / pass.zip
Archive:  pass.zip
replace /var/www/html/wget/index.css? [y]es, [n]o, [A]ll, [N]one, [r]ename:

■解凍パスワードを間違えた場合

[root@cent63 ~]# unzip -P himitsu pass.zip
Archive:  pass.zip
   creating: var/www/html/
   creating: var/www/html/wget/
   skipping: var/www/html/wget/index.css  incorrect password
   skipping: var/www/html/wget/zunou.html  incorrect password
   skipping: var/www/html/wget/link_pass.js  incorrect password
(省略)

ファイルは解凍されないが、ディレクトリが作成されてしまう…。どうなのこの仕様?!

0 件のコメント:

コメントを投稿