nautilus
またはcaja
で、暗号化されたディスクのアイコンをクリックしてパスワードを入力すると、基盤となるブロックデバイスが/dev/mapper/luks-$UUID
にマッピングされ、/media/$USER/$DISK
にマウントされます、ルートパスワードは必要ありません。 GUIなしでコマンドラインからこのプロセスを呼び出す方法はありますか。Sudoを回避し、マウントポイントをGUIから再びマウント解除できるようにすることを含みます。
これを行うための単一コマンドの方法を知りません。 GUIプログラムは、「正しい」アプローチを取るためにディスクをかなり調査しているので、その一部を自分で行う必要があります。ただし、Sudoは必要ありません。その結果、一連のイベントは比較的簡単です。
udisks2
パッケージのudisksctl
を使用します。
udisksctl unlock -b /path/to/disk/partition
udisksctl mount -b /path/to/unlocked/device
上記が機能するためには、ユーザーアカウントが適切に承認されている必要があります。 DebianとUbuntuでは、これはplugdev
グループにアカウントを追加することを意味します。
ディスクを使い終わったら:
udisksctl unmount -b /path/to/unlocked/device
udisksctl lock -b /path/to/disk/partition
udisksctl power-off -b /path/to/disk/or/partition
ここでは、(コマンドラインを使用して)設定を行い、ディスクを使用するプロセスをできるだけ簡単にする方法を説明します。 USBドライブ全体を単一のファイルシステムとして使用したいとします。他の構成では、手順を変更する必要があります。バリエーションに関する警告:権限のないアカウントがすべてを切断できるようにする暗号化されたコンテナーでLVMを使用する方法を見つけていません。 (udisksctl
を使用してボリュームグループを非アクティブ化する方法がわかりません。)
説明のため、ディスクは/dev/sda
であるとします。後で簡単に参照できるように、ファイルシステムの名前が必要になります。 「example
」を使用します。
Sudo parted /dev/sda
を実行し、次のコマンドを実行します。
mklabel gpt
mkpart example-part 1MiB -1s
quit
mkpart
コマンドは、おそらくパラメータを少し調整するように促します。推奨値を受け入れても問題ありません。
これで、パーティションは/dev/disk/by-partlabel/example-part
を介して使用できるようになります。
Sudo cryptsetup luksFormat /dev/disk/by-partlabel/example-part
プロンプトに従ってください。
Sudo cryptsetup luksOpen /dev/disk/by-partlabel/example-part example-unlocked
暗号化されたデバイスは/dev/mapper/example-unlocked
で入手できます。これは永続的なものではありません。それはセットアッププロセスのためだけです。
使用しているファイルシステムがXFSであると仮定しましょう。他のほとんどすべての従来のファイルシステムは同じように機能します。重要なことは、後で参照できるラベルを追加することです。
Sudo mkfs -t xfs -L example /dev/mapper/example-unlocked
これで、ファイルシステムのブロックデバイスに/dev/disk/by-label/example
経由でアクセスできるようになります。
デフォルトでは、ファイルシステムにアクセスできるのはrootだけです。ほとんどの場合、ユーザーアカウントでファイルにアクセスできるようにする必要があります。アカウント名が「user
」であると仮定します:
udisksctl mount -b /dev/disk/by-label/example
Sudo chown user:user /media/user/example
udisksctl unmount -b /dev/disks/by-label/example
Sudo cryptsetup luksClose example-unlocked
これは定期的に行うことです。 USBドライブを差し込んだ後、
udisksctl unlock -b /dev/disks/by-partlabel/example-part
udisksctl mount -b /dev/disks/by-label/example
ユーザーアカウントが「user
」の場合、ファイルシステムは/media/user/example
にマウントされます。
ファイルシステムをアンマウントするには:
udisksctl unmount -b /dev/disks/by-label/example
udisksctl lock -b /dev/disks/by-partlabel/example-part
udisksctl power-off -b /dev/disks/by-partlabel/example-part
これで、USBドライブを取り外すことができます。
これは、Nautilus/Nemoによって保存されたキーを使用します。gio mount -d /dev/dm-x
詳細は この回答を参照 です。