Linux Tips | |
USBメモリに暗号化した仮想ドライブを作成するには 北浦訓行 |
USBフラッシュメモリ(以下USBメモリ)で大切なデータなどを持ち出す際、あらかじめデータを暗号化しておくと安心だ。ここでは「TrueCrypt」というソフトウェアを使い、USBメモリに暗号化した領域を作成してファイルを保存する方法を紹介する。
TrueCrypt(http://www.truecrypt.org/)とは、ハードディスクやUSBメモリなどに仮想ドライブを作成して、その仮想ドライブへの読み書きする際に自動的に暗号化・復号するソフトウェアだ。TrueCryptで作成した仮想ドライブは、Linuxから見ると1つの大きなファイルとして認識される。そのファイルは、TrueCryptによりドライブとしてマウントでき、ファイルのコピーや変更、削除などが可能である。
また、TrueCryptのもう1つの特長はWindowsとLinuxに対応していることである。作成した仮想ドライブは両OSで互換性があり、Windowsで作成した仮想ドライブをLinuxで読み書きすることが可能である。また、その逆も可能だ。
それでは、Fedora Core 6(FC6)環境を例に、TrueCryptの利用方法を説明する。
最初にTrueCryptのインストールだ。FC6の場合はカーネルソースをインストールしたうえで、ソースファイルからプログラムをビルドする必要がある。原稿執筆時点でのカーネルのバージョンは、2.6.18-1.2849.fc6である。将来的にはバージョンが変更されるので、バージョン番号に依存したファイル名などは、最新のものに置き換えることをお勧めする。また、カーネルがバージョンアップするとTrueCryptも再ビルドする必要があるので注意していただきたい。
TrueCryptをビルドするにはmakeやgcc、ld、stripといった開発ツールが必要となる。これらのツールをインストールしていない場合は、[アプリケーション]メニューの[ソフトウェアの追加/削除]を起動して、[開発]の[開発ツール]や[開発ライブラリ]をインストールする。
次に、カーネルソースをインストールする。カーネルソースのインストールについては、Fedora Core 3でカーネルソースをインストールするにはを参照のこと。FC6での手順は以下のとおりだ。
# wget http://ftp.riken.jp/Linux/fedora/core/updates/6/SRPMS/kernel-2.6.18-1.2849.fc6.src.rpm |
カーネルソースのインストールが完了したら、TrueCryptのtarボールをダウンロードする(注)。TrueCryptのダウンロードページ(http://www.truecrypt.org/downloads.php)の[Select Linux distribution and hardware platform]リストから「Other (source code)」を選択して[Download]ボタンをクリックする。これで、TrueCryptのtarボールtruecrypt-4.2a-source-code.tar.gzがダウンロードされる。
注:TrueCryptのダウンロードページには、Fedora Core 5のRPMファイルなどが公開されているが(原稿執筆時点)、TrueCryptはカーネル依存のためFC6では使用できない。 |
$ tar zxf truecrypt-4.2a-source-code.tar.gz ←tarボールを展開 |
次に、/usr/src/linux/drivers/md/dm.hを以下のように修正する(注)。この修正を行わないと、FC6ではビルドに失敗してしまう。
注:ビルドが完了したら、元の状態に戻すことをお勧めする。 |
#define DM_NAME "device-mapper" |
修正が完了したら、以下のようにシェルスクリプトを実行してビルドを開始する。
# ./build.sh |
カーネルモジュールの作成が始まると、完了までかなりの時間がかかる。その間、画面には以下のようなメッセージが表示される。
Building internal kernel modules (may take a long time)... |
ビルドが完了したら、以下のようにシェルスクリプトを実行してインストールを行う。
# ./install.sh |
無事にインストール作業が完了したら、以下のコマンドを実行しカーネルモジュールを読み込む。
# modprobe truecrypt |
ここから、実際の使用方法について説明する。
TrueCryptを使用するには、最初に仮想ドライブ(ボリューム)を作成する必要がある。ここでは、/media/diskにマウントされたUSBメモリにvolume.tcという名前を付けてTrueCryptのボリュームを作成している。作成は対話式で行われるので、基本的に初期設定のままでも問題はない。
# truecrypt -c /media/disk/volume.tc
|
しばらくすると、ボリュームの作成が完了する。Linuxから見ると、TrueCryptのボリュームは以下のように1つの大きなファイルとして認識される。
$ ls -l /media/disk/volume.tc |
作成したTrueCryptのボリュームを使用するには、ハードディスクやUSBメモリと同様にマウント作業が必要となる。マウントにはtruecryptコマンドを使用する。以下の例では/mntをマウントポイントにしているが、実際はその下に専用のマウントポイントを用意する方が望ましい。
# truecrypt /media/disk/volume.tc /mnt |
TrueCryptのボリュームに対する読み書きは、/mntに対して行う。ユーザーは暗号化などを意識せずにcpやmvといったコマンドが使える。
また、アンマウントする場合は以下のように-dオプションを指定する。
# truecrypt -d /mnt |
Linux Tips Index |
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|