Como executar um script antes de switch_root no initramfs?

0

Estou começando o servidor ssh dropbear no initramfs para poder desbloquear uma partição criptografada por SSH * .

No Debian Jessie, estava tudo bem, mas no Buster, o dropbear parece não parar depois de switch_root , o que impede que o servidor ssh do OpenBSD seja iniciado.

apt-get purge dropbear não ajuda e which dropbear imprime /usr/bin/dropbear e ps -ef | grep dropbear imprime /sbin/dropbear ; que diz que este processo é aquele que começou no estágio initramfs e não parou.

Como solução alternativa, estou fazendo killall dropbear no script de serviço SSH, mas seria mais apropriado eliminá-lo antes de alternar a partição raiz.

Como posso executar o script nesse ponto?

    
por ceremcem 03.08.2018 / 07:07

2 respostas

0

Crie o script de limpeza como /etc/initramfs-tools/scripts/init-bottom/cleanup.sh :

#!/bin/sh
echo "Killing dropbear"
killall dropbear
exit 0

... e torná-lo executável:

chmod +x /etc/initramfs-tools/scripts/init-bottom/cleanup.sh

Atualize o initramfs como de costume:

update-initramfs -u 
    
por 03.08.2018 / 11:42
1

Você já tem um script que chama switch_root, então apenas insira uma linha lá para parar o dropbear.

Você também pode pará-lo na sua conexão ssh. Assim que você fizer login, haverá dois processos de dropbear. O primeiro é o processo que aceita novas conexões, o secons é o processo que serve sua conexão. Neste ponto você pode matar o primeiro processo, já que você não quer mais de uma conexão. O segundo processo terminará quando você desconectar.

Neste estágio inicial do processo de inicialização, você pode ter certeza de que o processo que aceita novas conexões tem o menor número de processo, embora haja outras maneiras de identificá-lo.

    
por 03.08.2018 / 07:48