先日インストールした PostgreSQL を Apache の認証に使ってみる。
まずは PostgreSQL の設定。 自分自身を登録。
$su - #su postgres $createuser 自分のアカウント
次に Apache の動作アカウントである www-data を登録したい。 が、ハイフンのあるユーザ名はうまく動かないので (createuser は成功する)、www-data と同じユーザIDで wwwdata を用意しておく。 /etc/passwd と /etc/shadow に www-data と同じ ID で www-data より先に wwwdata アカウントを追加。
そして postgres ユーザで createuser。
$createuser wwwdata
次にデータベースの作成。 自分自身のアカウントで以下を行う。
$createdb wwwdb $psql wwwdb -c 'create table passwd ( UserID text, Passwd text );' $psql wwwdb -c 'grant all on passwd to 自分;' $psql wwwdb -c 'grant all on passwd to wwwdata;' $psql wwwdb -c 'insert into passwd values ( '自分', '暗号化パスワード' );'
暗号化パスワードはとりあえず htpasswd でつくったものを指定。
次に postmaster が TCP/IP を許すようにする。 Debian では /etc/postgresql/postmaster.init で PGALLOWTCPIP=yes を指定。 書き換えたら /etc/init.d/postgresql restart する。
Apache の方は、/etc/apache/httpd.conf の LoadModule pgsql_auth_module /usr/lib/apache/1.3/mod_auth_pgsql.so を有効にして再起動しておく。
そしてここでは認証の設定を .htaccess によって行ってみる。
Auth_PGhost 127.0.0.1 Auth_PGport 5432 Auth_PGdatabase wwwdb Auth_PGpwd_table passwd Auth_PGuid_field userid Auth_PGpwd_field passwd AuthName "WWW Authentication" AuthType Basic require valid-user
USB メモリといえば、他人の PC とデータをやりとりする際によく使われるメディアだ。
最近どんどん大容量化していることもあり、ついいろいろなデータを入れっぱなしにしがち。
など、そのまま入れておくのは不安なファイルもある。
ということでやっぱりいくつかのファイルは暗号化しておきたい。さて何かよい暗号化ソフトウェアはないだろうか。
で調べたところ TrueCrypt が有名らしい。Windows と Linux の両方から使えるというのが良い。
ということで試してみた。
ライセンスの関係で Debian GNU/Linux には無いので、ビルドしてインストールする。
まずはビルド。
tar zxvf truecrypt-4.2a-source-code.tar.gz cd truecrypt-4.2a/Linux fakeroot ./build.sh
次にインストール。apt-get install dmsetup してから ./install.sh を実行する。
# ./install.sh Checking installation requirements... Testing truecrypt... Done. Install binaries to [/usr/bin]: Install man page to [/usr/share/man]: Install user guide and kernel module to [/usr/share/truecrypt]: Allow non-admin users to run TrueCrypt [y/N]: y Installing kernel module... Done. Installing truecrypt to /usr/bin... Done. Installing man page to /usr/share/man/man1... Done. Installing user guide to /usr/share/truecrypt/doc... Done. Installing backup kernel module to /usr/share/truecrypt/kernel... Done.
ここからは実際の利用。まず最初にボリュームファイルを作成する。
$ truecrypt -c vol.tc Volume type: 1) Normal 2) Hidden Select [1]: Filesystem: 1) FAT 2) None Select [1]: Enter volume size (bytes - size/sizeK/sizeM/sizeG): 128M Hash algorithm: 1) RIPEMD-160 2) SHA-1 3) Whirlpool Select [1]: Encryption algorithm: 1) AES 2) Blowfish 3) CAST5 4) Serpent 5) Triple DES 6) Twofish 7) AES-Twofish 8) AES-Twofish-Serpent 9) Serpent-AES 10) Serpent-Twofish-AES 11) Twofish-Serpent Select [1]: Enter password for new volume 'vol.tc': Re-enter password: Enter keyfile path [none]: TrueCrypt will now collect random data. Is your mouse connected directly to computer where TrueCrypt is running? [Y/n]: Please move the mouse randomly until the required amount of data is captured... Mouse data captured: 100% Done: 125.85 MB Speed: 15.66 MB/s Left: 0:00:00 Volume created.
基本的にはデフォルトで OK。確保容量とパスワードはそれぞれ決めて入力する。
マウントポイントを作成してマウントする。 自分の場合ロケールを ja_JP.UTF-8 にしているので、日本語ファイル名を読み書きするために -M utf8 しておく必要がある。
cd mkdir mnt truecrypt -M utf8,fmask=133 -u vol.tc mnt # マウント Enter password for '/home/naney/vol.tc': # パスワード入力
マウントができたら後は普通に読み書きができる。読み書きが終わったら、truecrypt -d でアンマウント。
truecrypt -l # マウントされているもののリスト truecrypt -d mnt # アンマウント
Windows 版は truecrypt-4.2a.zip を展開して、中に含まれているインストーラを使ってインストール。
TrueCrypt を起動して、先ほど作成したボリュームファイルとつけたいドライブ名を指定してマウントすると、うまく中身を読み書きすることができた。
また TrueCrypt にはトラベラーモードというものがある。 メニューから [Tools] -> [Traveller Disk Setup] を実行して、指定したいメディア(ディレクトリ)に、インストールせずに実行するのに必要なファイル群を配置することができる(オプションで autorun.inf を作ることも可能)。
これを実行して USB メモリに TrueCrypt を入れておけば、TrueCrypt をインストールしていない Windows PC 上でも TrueCrypt をトラベラーモードで実行してマウントできるようになる (ただし、管理者権限が必要)。
母艦である Linux BOX からアクセスできるというのが便利。 Linux BOX に USB メモリを挿した後、truecrypt でマウントして Unison で同期してアンマウントまでの一連の処理を流れ作業でできるようにしたい。
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。
※内容は個人的見解であり所属組織とは関係ありません。