LUKS暗号化パーティションを安全な方法で自動マウントするにはどうすればよいですか?理想的には、ログオンするとき(したがって、ログイン画面でパスワードを入力するとき)、またはデスクトップにアクセスしたら、Ubuntuにパスワードを要求させてからパーティションを自動マウントします。
私のfdiskの内容は以下です
暗号化されたパーティションは/ dev/sdb7、ルートおよびホームパーティションは/ dev/sdb5(暗号化されていない)です。
Disk /dev/loop0: 14 MiB, 14647296 bytes, 28608 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop1: 81.7 MiB, 85692416 bytes, 167368 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0006d9d9
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 524646399 524644352 250.2G 7 HPFS/NTFS/exFAT
/dev/sda2 * 524646400 1953523711 1428877312 681.4G 83 Linux
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1ffae910
Device Boot Start End Sectors Size Id Type
/dev/sdb1 214892542 976773119 761880578 363.3G 5 Extended
/dev/sdb2 * 2048 2150399 2148352 1G 83 Linux
/dev/sdb5 214892544 257558559 42666016 20.4G 83 Linux
/dev/sdb6 300716032 318294015 17577984 8.4G 82 Linux swap / Solaris
/dev/sdb7 318296064 976773119 658477056 314G 83 Linux
Partition table entries are not in disk order.
これを行うには、pam-mountを使用できます。ログインプロセスにフックし、入力されたパスワードを使用してluksパーティションをマウントできるようにします。設定方法は次のとおりです。
LUKSで暗号化されたパーティションまたはイメージが既にある場合は、このセクションをスキップしてください
ホームディレクトリにサイズ1GBの。privというファイルを作成します。
truncate -s 1G ~/.priv
LUKSを使用してイメージをフォーマットし、パスワードを設定します(ログインパスワードと同じものを使用します)。
cryptsetup luksFormat ~/.priv
画像を有効にします。
Sudo cryptsetup luksOpen ~/.priv priv
新しいデバイスにファイルシステムを作成します。
Sudo mkfs.ext4 /dev/mapper/priv
画像を再度無効にします。
Sudo cryptsetup luksClose priv
パッケージをインストールします。
Sudo apt install libpam-mount
構成ファイル/etc/security/pam_mount.conf.xml
を編集し、次の行を追加します。
<volume path="~/.priv" mountpoint="~/priv" />
<!-- Volume definitions -->
と書かれている場所のすぐ後にこれを追加します。 path引数とmountpoint引数の微妙ではあるが重要な違いに注意してください。特定のケースでは、path="/dev/sdb7"
を使用します。
ここでマシンにログインすると、通常より少し時間がかかることに気付くはずです。ログインに成功したら、mount
コマンドを使用して、自宅に新しいファイルシステムがマウントされていることを確認できます。次のようになります。
/dev/mapper/_dev_loop3 on /home/seb/priv type ext4 (rw,relatime,data=ordered,helper=crypt)
Ubuntu 18.04でLUKS暗号化イメージからホームディレクトリ(/home/seb
)をマウントするためにこのセットアップを使用しています。 pam_mountは、ログアウト後にイメージのマウント解除も行います。そのため、インストール中に完全なディスク暗号化を選択しなかった場合、少なくともある程度の暗号化を取得するための良い方法です。
マウントポイントを<volume path="/dev/sdb7" mountpoint="/home" />
として設定してもうまくいかず、ログインを妨げる理由について@Falcに答えるには、マウントポイントをホームとして設定することにより、実際にホームディレクトリを暗号化されたパーティションに置き換えました。ログインできなかった理由は、/home
ディレクトリがLinuxで動作するために必要だからです。さらに、ホームディレクトリには、.config、.bashrc、.profile、.bash_profileなどの多くの重要な隠しファイルが含まれています。ホームフォルダー内のこれらのファイルおよびその他には、ログイン時に起動するプログラムを開始する gnome-session-properties が含まれます。暗号化されたドライブをホームディレクトリにマウントすると、グラフィカルセッションに必要なアプリケーションを起動できません。