後でマウントされる暗号化ボリュームとここで実行されるサービスのシステム構成

後でマウントされる暗号化ボリュームとここで実行されるサービスのシステム構成

皆さん、こんにちは
私はArch Linuxを使用してBanana Piを開発しており、現在次のことを行おうとしています。

  1. 誰かが自分の外部ストレージに暗号化されたキーファイルをインストールすると、システムはそのファイルを使用して外部ストレージをマウントします。
  2. systemdは、外部リポジトリで実行されているすべてのサービスを開始する必要があります。
  3. 終了時にボリュームをマウント解除する前に、すべての操作を停止する必要があります。

数時間後、ついに動作するようになりましたが、より小さな解決策があるかどうか疑問に思います。

/etc/systemd/システム

luks.keys.パス

[Unit]
Description=luks-keys found in /etc/luks-keys

[Path]
DirectoryNotEmpty=/etc/luks-keys/

[Install]
WantedBy=multi-user.target


luks.keys.service

[Unit]
Description=luks-keys availible
Conflicts=umount.target
Before=umount.target

[Service]
Type=simple
ExecStart=/usr/local/bin/storage
RemainAfterExit=yes


ストレージ。

[Unit]
Description=Storage
Requires=basic.target
After=multi-user.target
Requisite=luks.keys.service
AllowIsolate=yes


./storage.target.wants/minidlna.service

[Unit]
Description=minidlna server
After=network.target
Requisite=luks.keys.service

[Service]
Type=forking
ExecStart=/usr/bin/minidlnad -P /run/minidlna/minidlna.pid
PIDFile=/run/minidlna/minidlna.pid

[Install]
WantedBy=storage.target


/usr/ローカル/空/ストレージ

#!/bin/bash

systemclt isolate storage.target

cryptsetup --key-file /etc/luks-keys/storage1 luksOpen /dev/sda1 storage1

mount /dev/mapper/storage1 /mnt/storage1




レザーブーツ:

  • systemd は multi-user.target を起動します。
  • luks.keys.pathを有効にし、/etc/luks-keysからファイルを待ちます。
  • 見つかったファイル
  • luks.keys.serviceが有効になり、Storage.targetが起動します。
  • 他のサービスが始まります


削除する前に:

  • systemctl は luks.keys.service を停止しようとします。
  • luks.keys.serviceが必要なため、Storage.targetやその他のサービスが停止します。
  • luks.keys.serviceは最終的に停止し、umount.targetで終了し続けます。

少ない労力でこれを行うことができない場合は、次の質問に喜んで回答します。

後でマウントしてサービスを実行する暗号化ボリューム用にsystemdを構成する方法

ベストアンサー1

おすすめ記事