SB に重要なファイルを保存していると、USBを紛失した時に情報が漏洩してしまう可能性があります。PC のログインと同じように USB にもパスワードを掛けて、セキュアにUSBを利用してみませんか?
今回は、LUKS(Linux Unified Key Setup. ラックス)というディスク暗号化の方法を使った暗号化の方法を紹介したいと思います。
LUKS を利用するための cryptsetup パッケージを以下の方法でインストールします。
$ sudo apt install cryptsetup
手持ちの USB を Ubuntu に差し込むと自動でUSBがマウントされるので、デバイス名 (/dev/sdb1)を確認します。
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
:
/dev/sdb1 15152064 1266368 13885696 9% /media/taro/EC6F-D298
自動でマウントされない場合は、dmesg と fdisk コマンドを使用し調べます。
$ sudo dmesg
:
[72697.021940] scsi 3:0:0:0: Direct-Access ELECOM MF-HCBU2 1100 PQ: 0 ANSI: 4
[72697.032914] sd 3:0:0:0: Attached scsi generic sg2 type 0
[72697.043626] sd 3:0:0:0: [sdb] 30310400 512-byte logical blocks: (15.5 GB/14.5 GiB) <- /dev/sdb だと分かる
:
$ sudo fdisk -l /dev/sdb
:
/dev/sdb1 2048 30310399 30308352 14.5G 83 Linux <- /dev/sdb1 だと分かる。
USB をアンマウントします。
$ sudo umount /media/taro/EC6F-D298/
デバイスをフォーマットします。
$ sudo cryptsetup luksFormat /dev/sdb1
WARNING!
========
This will overwrite data on /dev/sdb1 irrevocably.
Are you sure? (Type uppercase yes): YES <- 大文字で YES と入力します。
Enter passphrase for /dev/sdb1: <- パスワードを設定します。
パスフレーズを確認:
暗号化したデバイスをオープンします。名前h(例 sec_usb) は任意の名前をつけます。
デバイス名 名前
$ sudo cryptsetup luksOpen /dev/sdb1 sec_usb
デバイスをフォーマットします。フォーマットするファイルシステムは何でも良いです。
今回は、ext4 でフォーマットします。
$ sudo mkfs.ext4 /dev/mapper/sec_usb <- /dev/mapper/ + 名前
mke2fs 1.45.5 (07-Jan-2020)
/dev/mapper/sec_usb contains a exfat file system
Proceed anyway? (y,N) y
マウントします。
$ sudo mount /dev/mapper/sec_usb /media/taro/
そのままでは、root しか書き込み権限が無いので、ディレクトリのオーナを変更します。
これでファイルの書き込みが行えるようになります。
$ sudo chown $USER:$USER /media/taro
使用後は、umount して luksClose します。
$ sudo umount /media/taro
$ sudo cryptsetup luksClose sec_usb
2回目以降は、luksOpen して mount すれば使えます。luksOpen 時に、先程設定したパスワードを問われます。
$ sudo cryptsetup luksOpen /dev/sdb1 sec_usb
$ sudo mount /dev/mapper/sec_usb /media/taro/
$ sudo umount /media/taro
$ sudo cryptsetup luksClose sec_usb