Configuração do Systemd para volume criptografado posteriormente montado com serviços trabalhando nele

3

Olá a todos , estou trabalhando em um Banana Pi com Arch Linux e No momento, estou tentando realizar o seguinte:

  1. Depois que alguém montou os arquivos de chaves criptografados para meu sistema de armazenamento externo, deve usá-los e montar o armazenamento externo
  2. systemd deve iniciar todos os serviços que operam no armazenamento externo
  3. No desligamento, tudo deve ser interrompido antes de desmontar o volume criptografado

Depois de algumas horas, finalmente funcionou e me pergunto se há uma solução menor:

/ etc / systemd / system

luks.keys.path

[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


storage.target

[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 / local / bin / storage

#!/bin/bash

systemclt isolate storage.target

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

mount /dev/mapper/storage1 /mnt/storage1



Botas de pi:

  • o systemd inicia o multi-user.target
  • ativa luks.keys.path que aguarda arquivos em / etc / luks-keys
  • arquivos encontrados
  • luks.keys.service é ativado e inicia o armazenamento.target
  • os outros serviços estão iniciando


Antes de desmontar:

  • systemctl trys para parar luks.keys.service
  • storage.target e os outros serviços estão parando porque precisam de luks.keys.service
  • luks.keys.service finalmente pára e o desligamento continua com umount.target

Se não for possível realizar isso com menos trabalho, ficarei feliz em apresentar a Resposta à pergunta:

How to configure systemd for a later mounted encrypted volume with services working on it

    
por Fabian N. 06.01.2015 / 12:59

0 respostas