No início da inicialização do Linux, um programa especial solicitando a senha é carregado se o seu Linux estiver instalado no lvm criptografado, mas isso pode ser um problema de segurança se o programa especial for infectado por vírus do Microsoft Windows, talvez modificado, enviando a senha para algum lugar da partição do Windows. Mas instalar o programa de senha em um pendrive é muito mais seguro porque é mais isolado do que no disco rígido. Quero saber como fazer um USB inicializável para inserir a senha que posso fazer login no Linux?
Responder1
O programa especial ao qual você está se referindo está dentro do initramfs do kernel Linux. O initramfs contém um sistema de arquivos / temporário com os recursos extras necessários para montar o sistema de arquivos / real. No seu caso, ele contém, entre outras coisas, a ferramenta cryptsetup e um script (o programa especial) para obter sua senha.
Portanto, para realizar o que você procura, você basicamente precisa transformar seu disco USB na partição /boot do seu sistema. /boot contém seu kernel Linux, o initramfs, GRUB2 stage2, etc.
Para ser claro, você ainda inicializaria seu disco interno, mas o GRUB2 será reinstalado para carregar sua configuração, outros estágios e seu kernel a partir de seu disco USB. O processo é mostrado abaixo, mas antes de embarcar, certifique-se de ter uma forma alternativa de obter acesso ao seu sistema, como por meio de uma unidade LiveCD/USB. Este processo mudará a forma como o Linux é carregado e, se der errado, você estará no caminho certo sem um plano B.
- Usando
fdisk /dev/sdX
(onde sdX é o disco USB), crie uma partição no seu disco USB. - Formate a partição mencionada com um sistema de arquivos Linux (como ext2, 3 ou 4). Ex.
mkfs.ext3 /dev/sdX1
- Faça um backup do seu /boot. É importante, então é melhor prevenir do que remediar. Por exemplo,
pushd /boot; tar -cvzf /root/boot-backup.tar.gz .; popd
- Monte o novo sistema de arquivos em algum lugar e copie o conteúdo do /boot atual para ele.
- Desmonte o novo sistema de arquivos e monte-o novamente como seu novo /boot, atualizando /etc/fstab enquanto você faz isso. O novo /boot precisa ser montado para a próxima etapa.
- Reinstale o GRUB2 usando qualquer MBR em que esteja reinstalado atualmente:
grub-install /dev/sdY
. O motivo pelo qual ele precisa ser reinstalado é porque você alterou a localização do /boot. Este comando também instalará arquivos em /boot/grub, daí a necessidade de montá-lo (e ter um backup). - Gere novamente o arquivo de configuração do GRUB2:
grub-mkconfig -o /boot/grub/grub.cfg
- Revise o arquivo de configuração gerado em/boot/grub/grub.cfg. Você deverá vê-lo fazendo referência ao disco USB (não me lembro se ele usa um UID de disco ou sistema de arquivos).
Teste a configuração inicializando com a unidade USB conectada. Em seguida, tente inicializar sem a unidade USB; o que não deveria funcionar.