秘め事


誰しもアレとかコレとかいった内緒事はありますよね?パソコンのなかに秘密にしておかなくてはいけない情報を抱えている人は多いでしょう?みなさん、どうしてますか。ぼくが本気で秘匿しなくてはならない秘密の情報は主に種々の試験問題です。一年に扱う量はさほどではないのですが、それも溜ると結構な量になるので、管理の負担は大きくなります。こういう情報を管理するのに、暗号化ディスクボリュームを利用するのが簡単です。今日は、私が暗号化ディスクボリュームを使うために作ったスクリプトを紹介します。

まずは、”__naisho__” シェルスクリプト。これを ”~/.bashrc” に書いておきます。”~/doc/naisho” にディスクボリュームを AES-128 で暗号化して保存して使うためのスクリプトです。

__naisho__() {
image=$HOME/doc/naisho/$1.sparseimage
volume=/Volumes/$1
volname=$1

if [ ! -f $image ]; then
hdiutil create -quiet
-megabytes 100 -type SPARSE -fs HFS+J -volname $volname
-encryption AES-128
-attach $image
fi

if [ “$2” == “detach” -o “$2” == “eject” ]; then
if [ -d $volume ]; then cd $HOME; hdiutil detach $volume; fi
else
if [ ! -d $volume ]; then hdiutil attach -quiet $image; fi
cd $volume
if [ -d $volume/bin ]; then PATH=$PATH:$volume/bin; fi
if [ -r $volume/.bashrc ]; then . $volume/.bashrc; fi
fi
}

これをそのままでは使わずに、それぞれの秘め事ごとに以下のようなスクリプトを用意します。

hoge2010() { __naisho__ hoge2009 $*; }

この設定のあとにターミナルから ”hoge2010” コマンドを実行すれば、以下のように暗号化ディスクボリュームが作成され、パスワードの設定を促されます。最強のパスワードを設定してやって下さい。

$ hoge2010
Enter a new password to secure “hoge2010.sparseimage”:
Re-enter new password:

この時点で、”hoge2010” というボリュームが ”/Volumes/hoge2010” にマウントされ、普通の設定ならデスクトップにもこのボリュームのアイコンが表示されるはずです。

このボリュームのなかでの作業が終了したときは ”hoge2010 detach” コマンドを実行します。暗号化されたボリュームは閉じて、パスワードを知らない人はそのボリュームの中身を見ることができなくなります。

次回以降は、ディスクボリュームを作ったときと同様に ”hoge2010” コマンドを実行するだけです。

付加的に、暗号化ボリュームの中に ”bin” ディレクトリがあれば、それを PATH に追加する機能、”.bashrc” があればそれを読み込む機能を用意しています。ディスクボリュームの ”.bashrc” のなかで ”HOME=/Volumes/hoge” とやってみたり、”eclipse” コマンドを作成して、ディスクボリュームの中のワークスペースで Eclipse を実行したりといった設定ができます。