web-dev-qa-db-ja.com

LUKSパーティションを自動マウントするにはどうすればよいですか?

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.
2
Falc

PAMマウントの使用

これを行うには、pam-mountを使用できます。ログインプロセスにフックし、入力されたパスワードを使用してluksパーティションをマウントできるようにします。設定方法は次のとおりです。

テスト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

PAMマウントのインストールとセットアップ

パッケージをインストールします。

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)

/ home/USERに使用

Ubuntu 18.04でLUKS暗号化イメージからホームディレクトリ(/home/seb)をマウントするためにこのセットアップを使用しています。 pam_mountは、ログアウト後にイメージのマウント解除も行います。そのため、インストール中に完全なディスク暗号化を選択しなかった場合、少なくともある程度の暗号化を取得するための良い方法です。

2
Sebastian Stark

マウントポイントを<volume path="/dev/sdb7" mountpoint="/home" />として設定してもうまくいかず、ログインを妨げる理由について@Falcに答えるには、マウントポイントをホームとして設定することにより、実際にホームディレクトリを暗号化されたパーティションに置き換えました。ログインできなかった理由は、/homeディレクトリがLinuxで動作するために必要だからです。さらに、ホームディレクトリには、.config、.bashrc、.profile、.bash_profileなどの多くの重要な隠しファイルが含まれています。ホームフォルダー内のこれらのファイルおよびその他には、ログイン時に起動するプログラムを開始する gnome-session-properties が含まれます。暗号化されたドライブをホームディレクトリにマウントすると、グラフィカルセッションに必要なアプリケーションを起動できません。

0
MyWrathAcademia