나중에 마운트될 암호화된 볼륨과 여기서 실행되는 서비스의 시스템 구성

나중에 마운트될 암호화된 볼륨과 여기서 실행되는 서비스의 시스템 구성

여러분, 안녕하세요,
저는 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를 구성하는 방법

관련 정보