crypttabが起動する前に暗号化されていないパーティションをマウントする方法は?

crypttabが起動する前に暗号化されていないパーティションをマウントする方法は?

ドライブに接続したハードドライブの復号化に必要なLUKSキーファイルを含むUSBフラッシュドライブから起動するのではなく、起動するARMサーバーがあります。したがって、/etc/crypttab(ドライブの復号化)を実行するには、ドライブをマウントする前にUSBをマウントする必要があります(fstabはcrypttabの後に実行されます)。 crypttabが起動する前にパーティションをマウントする方法は? systemdとLinux 4.4で。

明確にするために:

  1. まず、USBドライブパーティション(/dev/sdb1など)を/mnt/usb(暗号化されていない)にマウントしたいと思います。
  2. 次に、crypttabを使用して、/mnt/usb/mykeyfileにあるキーファイルを使用して、ドライブの1つで暗号化されたパーティションのロックを解除します。
  3. 次に、ファイルシステムを/mnt/crypt_fsにマウントします。

答え1

私の解決策は少しハッキング的ですが、うまくいきます。 mqueueの前にsystemdサービスを作成し(ユニットの前にfstab .mount /dev/sd *を許可する任意のサービス)、デフォルトでcrypttabが実行する操作を実行しますが、単一のコマンドの形式。しかし、systemdは私のサービスが完了してログインするのを待ちませんでした。その後、[2番目]現在マッピングされているデバイスにサブボリュームをマウントし、[3番目] fstab HDDを使用する必要があるすべてのサービス(pihole、apache、giteaなど)を起動するので、サーバーのsystemctl start myservice前にHDDがマウントされているかどうかを100%確信できます。あります。インスタンスが起動します。繰り返しますが、少しハッキーですが、私はsystemdに慣れていません。私はopenrcを使います。なぜならこれはGentooのデフォルトであるからです。正直、あまり気にしません。とにかく常にオンになっており、とにかくシステムを再起動する必要はありません。 。後で整理することもできますが、今は問題ではありません。

関連情報