AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 718802
Accepted
Aspiring Dev
Aspiring Dev
Asked: 2022-09-27 13:14:57 +0800 CST2022-09-27 13:14:57 +0800 CST 2022-09-27 13:14:57 +0800 CST

Como faço para acionar manualmente a "montagem automática" do systemd de partições/unidades criptografadas?

  • 772

Eu configurei duas unidades criptografadas luks para montar automaticamente na inicialização do sistema (usando crypttabe uma chave de arquivo luks). Funciona bem, mas infelizmente, se eu desconectar uma das unidades, o processo de "descriptografia automática" não é executado quando eu as conecto ao meu PC novamente (executando o Fedora) e tenho que fazer a montagem manualmente após a desmontagem. HQual comando posso usar para acionar o mesmo processo que o systemd aciona na inicialização do sistema para montar automaticamente e descriptografar as unidades na hora, sem mais envolvimento meu? Ou, na falta disso, como posso obter o systemd para descriptografar automaticamente e montá-los nessas circunstâncias?

Para referência, este é o tutorial que usei para configurar as unidades: https://www.golinuxcloud.com/mount-luks-encrypted-disk-partition-linux/

systemd luks
  • 1 1 respostas
  • 44 Views

1 respostas

  • Voted
  1. Best Answer
    meuh
    2022-10-01T09:19:55+08:002022-10-01T09:19:55+08:00

    Cada entrada /etc/crypttabé convertida automaticamente pelo systemd systemd-cryptsetup-generatorem uma unidade na inicialização ou quando você executa o sudo systemctl daemon-reload. Por exemplo, supondo que o sistema de arquivos LUKS tenha um UUID de 1111...(não vou mostrá-lo por completo) a entrada

    mytest /dev/disk/by-uuid/1111...  /etc/luks/mykeyfile luks
    

    irá gerar o arquivo /run/systemd/generator/[email protected], com uma dependência BindsTo=dev-disk-by\x2duuid-1111....devicee assim por diante. Esta unidade é executada cryptsetupquando o UUID aparece em um novo disco.

    Da mesma forma, cada entrada /etc/fstabé automaticamente convertida pelo systemd systemd-fstab-generatorem uma unidade. Por exemplo, a entrada

    /dev/mapper/mytest /mnt/mytest ext4 defaults
    

    irá gerar o arquivo /run/systemd/generator/mnt-mytest.mount, que (talvez via udev) fará uma montagem sempre que o arquivo /dev/mapper/mytestaparecer (será criado por cryptsetup).

    Você pode verificar o status dessas duas Unidades com

    systemctl status systemd-cryptsetup@mytest mnt-mytest.mount
    

    Normalmente, quando a descriptografia e a montagem forem feitas com sucesso, elas serão exibidas respectivamente como

       Active: active (exited)
       Active: active (mounted)
    

    Para remover o disco de forma limpa, primeiro dê os comandos

    sudo systemctl stop mnt-mytest.mount
    sudo systemctl stop systemd-cryptsetup@mytest
    

    Quando este disco for conectado novamente, ele será montado automaticamente.


    Se o disco montado for removido sem fazer isso, as Unidades podem ser deixadas em estado de falha. Siga os logs do systemd com journalctl -fpara ver as mensagens.

    Às vezes, ao desconectar sem desmontar, o kernel emite mensagens sobre erros de i/o no sistema de arquivos, mas consegue desmontar o sistema de arquivos com sucesso, e o crypt detach fecha o dispositivo com sucesso. Nesse caso, quando o dispositivo for conectado novamente, ele deverá ser montado automaticamente com sucesso, sem intervenção.

    No entanto, às vezes, após os erros de i/o, o kernel decide remontar o sistema de arquivos somente leitura. Isso causa um problema para o comando crypt detach, que falha porque o dispositivo está ocupado (montado, quando deveria ter sido desmontado pelo systemd). Parece haver um problema de corrida, pois o sistema de arquivos geralmente acaba desmontado. Quando o dispositivo é conectado novamente, a descriptografia informa que o volume já está ativo, portanto, não parece acionar a montagem.

    Nesse caso, o que parece funcionar é limpar o estado de falha do trabalho de parada e executar o comando detach manualmente. Quando o dispositivo é conectado novamente, o mecanismo de descriptografia é iniciado de forma limpa e a montagem é concluída. Os comandos são

    sudo systemctl reset-failed systemd-cryptsetup@mytest
    sudo /usr/lib/systemd/systemd-cryptsetup detach mytest
    

    Há também uma dev-mapper-mytest.deviceunidade que pode ser verificada quanto ao status. Ele permanece no estado ativo se a desconexão falhar, mas ficará inativo após o comando de desconexão manual acima.

    • 2

relate perguntas

  • Níveis diferenciadores no journalctl

  • Altere o editor padrão para vim para _ sudo systemctl edit [unit-file] _

  • systemd: como posso executar um script no início de um serviço, sem editar a definição do serviço

  • Use o suporte de watchdog do systemd para reiniciar o aplicativo

  • Inicie/pare o serviço systemd usando o atalho de teclado [fechado]

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve