Recuperar uma senha de raiz perdida no Linux é uma tarefa comum e, felizmente, existem vários métodos confiáveis para conseguir isso. Aqui está um colapso das abordagens mais comuns e eficazes, juntamente com explicações e considerações:
1. Usando Grub (Grand Unified Bootloader) - O método mais comum Este método envolve interromper o processo de inicialização e inicializar em um modo de usuário único, onde você pode redefinir a senha.
Etapas: 1.
reinicie o sistema: Reinicie sua máquina Linux.
2.
interromper o processo de inicialização: Como o sistema inicializa, observe o menu Grub. Você normalmente verá uma lista de sistemas operacionais. Pode ser necessário pressionar uma tecla (como `esc`,` shift`, `e` ou` enter`) repetidamente ou segure -a para exibir o menu. A chave varia dependendo do seu sistema e configuração do GRUB. Se você não vir o menu Grub, ele pode estar oculto. Manter o `Shift 'durante a bota geralmente o revela.
3.
Edite a entrada do grub: Depois que o menu Grub for exibido, use as teclas de seta para destacar a entrada que você deseja inicializar (geralmente a opção Linux padrão). Pressione `e` para editar a entrada selecionada. Isso abrirá um editor de texto dentro do ambiente da GRUB.
4.
Encontre a linha do kernel: Procure uma linha que começa com `Linux` ou` Linux16`. Esta linha contém parâmetros passados para o kernel durante a inicialização.
5.
Anexar `init =/bin/bash` ou` rd.break aplicativo =0` (ou `systemd.unit =emergency.target`) à linha do kernel: *
`init =/bin/bash`: Este é o método mais antigo e mais comum. Ele diz ao kernel para iniciar `/bin/bash` como o processo inicial em vez do sistema init normal (como Systemd ou Sysvinit). Isso efetivamente fornece um shell de raiz. Depois de terminar de alterar a senha, você precisará remontar o sistema de arquivos raiz como leitura-escrivão antes de alterar a senha.
*
`rd.break aplicativo =0` (CENTOS/RHEL/FEDORA com Selinux): Esse é geralmente o método * preferido * para sistemas baseados em Red Hat (CentOS, Rhel, Fedora) que têm o Selinux ativado. `rd.break` diz aos initramfs para interromper o processo de inicialização antes de mudar para o sistema de arquivos root real, oferecendo a oportunidade de fazer alterações. `aplicação =0` coloca o Selinux no modo permissivo, impedindo que o Selinux interfira na redefinição de senha.
*
`Systemd.unit =emergency.target` (Systemd Systems): Isso fará com que o sistema inicialize no modo de emergência
Exemplo (usando `init =/bin/bash`): `` `
Linux /boot/vmlluz-5.15.0-72-generic root =/dev/mapper/vgubuntu-root ro silencioso splash $ vt_handroff
`` `
Modifique -o para:
`` `
linux /boot/vmlluz-5.15.0-72-generic root =/dev/mapper/vgubuntu-root ro silencioso splash $ vt_handroff init =/bin/bash
`` `
Exemplo (usando `rd.break aplicativo =0`): `` `
Linux /boot/vmlluz-5.15.0-72-generic root =/dev/mapper/vgubuntu-root ro silencioso splash $ vt_handroff
`` `
Modifique -o para:
`` `
Linux /boot/vmlluz-5.15.0-72-generic root =/dev/mapper/vgubuntu-root ro silencioso splash $ VT_HANDOFF RD.break Aplicação =0
`` `
Coloque a opção na extremidade * da linha após quaisquer outras opções existentes, separadas por um espaço.
6.
Inicialize a entrada editada: Pressione `ctrl+x` ou` f10` para inicializar com a entrada do grub modificada.
7.
Remonte o sistema de arquivos raiz (se estiver usando `init =/bin/bash`): * Com `init =/bin/bash`, o sistema de arquivos raiz é montado somente leitura. Você precisa remontá-lo como leitura-escreva antes de alterar a senha. Execute o seguinte comando:
`` `BASH
Mount -o Remount, RW /
`` `
8.
Altere a senha raiz: Use o comando `passwd`:
`` `BASH
Passwd
`` `
Digite a nova senha quando solicitado. Você será solicitado a entrar novamente para confirmação.
9.
se estiver usando `rd.break aplicativo =0` (CENTOS/RHEL/FEDORA com Selinux): * O sistema de arquivos pode não estar no diretório raiz. Você primeiro precisará Chroot para a raiz.
`` `BASH
Chroot /Sysroot
`` `
* Agora, altere a senha raiz:
`` `BASH
Passwd
`` `
10.
* Depois de alterar a senha, você precisa relacionar o sistema de arquivos.
`` `BASH
Touch /.Autorelabel
saída
saída
`` `
O sistema reiniciará e executará o processo de reabastecimento. Isso pode demorar um pouco.
Não interrompa o processo. 11.
reiniciar: Digite `Exec /sbin /init` (ou` reboot -f` se o primeiro comando não funcionar, mas isso é menos limpo e pode levar a inconsistências do sistema de arquivos). Se você usar `init =/bin/bash`, digitar` exit` pode funcionar em alguns casos, mas `exec/sbin/init` é geralmente mais confiável.
Considerações importantes para o método Grub: *
Proteção de senha do GRUB: Se o seu carregador de inicialização estiver protegido por senha, esse método não funcionará diretamente. Você precisará saber a senha do grub primeiro.
*
Criptografia (LUKS): Se o seu sistema de arquivos root for criptografado (por exemplo, usando LUKS), você precisará desbloquear a partição criptografada * antes * você pode acessá -lo e modificar a senha. Isso geralmente envolve inserir a senha de descriptografia na inicialização. As etapas acima se aplicam após o desbloqueio do volume criptografado.
*
Selinux (CentOS/Rhel/Fedora): Em sistemas com o Selinux ativado, é * crucial * Relabel o sistema de arquivos após alterar a senha, conforme mostrado nas instruções `rd.break`. Se você não fizer isso, poderá encontrar problemas graves, incluindo a incapacidade de efetuar login, mesmo com a senha correta.
2. Usando um CD/USB ao vivo Este método envolve a inicialização de um ambiente LIVE LIVE (por exemplo, CD Ubuntu Live, Fedora Live USB) e montagem da sua partição raiz para alterar a senha.
Etapas: 1.
BOOT da mídia ao vivo: Inicialize seu computador em um CD LIVE LIVE ou unidade USB.
2.
Identifique sua partição raiz: Abra um terminal no ambiente vivo. Use o comando `lsblk` ou` fdisk -l` para identificar a partição correta que contém o sistema de arquivos root da instalação do Linux (`/`). Procure a partição que possui o ponto de montagem 'root' atribuído a ela.
3.
Monte a partição da raiz: Crie um ponto de montagem (um diretório) e monte a partição raiz lá. Substitua `/dev/sdax` pelo dispositivo e partição reais que você identificou na etapa anterior.
`` `BASH
sudo mkdir /mnt /myroot
sudo monte /dev /sdax /mnt /myroot
`` `
Se você tiver uma partição `/boot` separada, também pode precisar montar isso:
`` `BASH
sudo montagem/dev/sday/mnt/myroot/boot # reply/dev/sday com sua partição de inicialização
`` `
4.
Montar sistemas de arquivos especiais: Monte os sistemas de arquivos `proc`,` sys` e `dev` do ambiente ao vivo no diretório raiz montado. Isso é necessário para que o `chroot` funcione corretamente.
`` `BASH
sudo monte -o bind /proc /mnt /myroot /proc
sudo monte -o bind /sys /mnt /myroot /sys
sudo monte -o bind /dev /mnt /myroot /dev
sudo monte -o bind/dev/pts/mnt/myroot/dev/pts
`` `
5.
chroot no sistema de arquivos raiz: Use o comando `chroot` para alterar o diretório raiz para a partição montada. Isso faz da sua partição montada a "raiz" para os comandos subsequentes.
`` `BASH
sudo chroot /mnt /myroot
`` `
6.
Altere a senha raiz: Use o comando `passwd`:
`` `BASH
Passwd
`` `
Digite a nova senha quando solicitado.
7.
saia chroot e desmontagem: `` `BASH
Saia # Saia do ambiente CHROOT
sudo umount/mnt/myroot/dev/pts
sudo umount/mnt/myroot/dev
sudo umount/mnt/myroot/sys
sudo umount/mnt/myroot/proc
sudo umount /mnt /myroot /bota # se você montou /bota
sudo umount /mnt /myroot
`` `
8.
reinicialização: Reinicie o computador e inicialize do seu disco rígido comum.
Considerações importantes para o Método CD/USB ao vivo: *
Criptografia (LUKS): Se o seu sistema de arquivos raiz estiver criptografado, você precisará desbloqueá -lo do ambiente ao vivo * antes * poderá montá -lo. Use `CryptSetup Luksopen/dev/sdax myroot` (substitua`/dev/sdax` pela partição criptografada) e digite a senha. Em seguida, monte `/dev/mapper/myroot` em vez de`/dev/sdax`.
*
lvm (gerenciamento de volume lógico): Se o seu sistema de arquivos root estiver em um volume lógico LVM, talvez seja necessário ativar o grupo de volume primeiro:`sudo vgchange -ay`. Em seguida, identifique o volume lógico e monte -o.
*
Boot segura: Se a inicialização segura estiver ativada nas configurações do UEFI, pode ser necessário desativá -la ou configurá -la para permitir a inicialização da mídia externa.
3. Usando o parâmetro `single` kernel (menos comum, pode não funcionar em todos os sistemas) Este método é semelhante ao método GRUB, mas usa um parâmetro de kernel diferente. Pode não ser tão confiável quanto o método `init =/bin/bash` em sistemas modernos.
Etapas: 1.
reinicie e interrompa o processo de inicialização: O mesmo que no método GRUB (etapas 1 e 2).
2.
Edite a entrada do grub: O mesmo que no método GRUB (etapas 3 e 4).
3.
Anexar `single` ou` 1` à linha do kernel: Adicione `single` ou` 1` ao final da linha `Linux` ou` Linux16`.
4.
inicialize a entrada editada: Pressione `ctrl+x` ou` f10` para inicializar.
5.
Altere a senha raiz: O sistema deve inicializar no modo de usuário único, fornecendo um shell de raiz. Use o comando `passwd`:
`` `BASH
Passwd
`` `
6. Reinicialização: Tipo `reiniciar`.
Por que esses métodos funcionam (explicação): *
Grub e modo de usuário único: Grub é o carregador de inicialização que carrega o kernel Linux. Ao interromper o processo de inicialização e modificar os parâmetros do kernel, podemos instruir o kernel a inicializar em um modo especial (modo de usuário único), onde temos acesso direto à conta raiz * sem * exigir uma senha. Isso ocorre porque o modo de usuário único foi projetado para manutenção e recuperação do sistema. O parâmetro `init =/bin/bash` substitui o processo de inicialização padrão, fornecendo um shell de raiz diretamente.
*
CD/USB ao vivo: Um CD/USB ao vivo fornece um ambiente Linux em funcionamento separado. Ao montar a partição raiz do seu sistema instalado e usar o `chroot`, você essencialmente" alterna "o sistema de arquivos root para o diretório raiz do sistema instalado. Isso permite que você execute comandos (como `passwd`) como se estivesse conectado ao seu sistema instalado, mesmo que você esteja realmente executando -os no ambiente ao vivo.
Considerações de segurança: *
Acesso físico: Esses métodos requerem acesso físico à máquina. Se alguém tiver acesso físico, poderá comprometer o sistema, independentemente da senha.
*
senha do grub: Considere definir uma senha para o GRUB para impedir a modificação não autorizada das opções de inicialização.
*
Criptografia: Criptografar o sistema de arquivos root (por exemplo, com Luks) adiciona uma forte camada de segurança, pois um invasor precisaria da senha de descriptografia para acessar os dados, mesmo com acesso físico.
*
Boot segura: A inicialização segura ajuda a impedir que os carregadores de inicialização não autorizados sejam executados, fornecendo outra camada de segurança.
Escolhendo o método certo: *
Grub: O método GRUB geralmente é o mais fácil e mais rápido se você tiver acesso direto ao sistema e pode interromper o processo de inicialização. No entanto, é vulnerável se o grub for protegido por senha ou se o sistema de arquivos for criptografado sem conhecer a senha. É também o método com maior probabilidade de ser afetado pelo Selinux.
*
CD/USB ao vivo: O método CD/USB ao vivo é mais versátil e pode ser usado mesmo que o GRUB seja protegido por senha. Requer um pouco mais de configuração, mas fornece um ambiente mais controlado. É especialmente útil se você precisar desbloquear um sistema de arquivos criptografado primeiro.
Notas importantes: *
Backup: Antes de tentar qualquer um desses métodos, é * altamente recomendável * ter um backup recente de seus dados importantes. Embora esses procedimentos sejam geralmente seguros, sempre há um risco de perda de dados se algo der errado.
*
Cuidado e precisão: Verifique novamente todos os comandos e nomes de partição antes de executá-los. Erros tipográficos podem levar a problemas sérios.
*
Selinux: Seja especialmente cuidadoso com os sistemas habilitados para Selinux (CentOS, Rhel, Fedora). Siga as etapas de relacionamento com precisão.
*
Modo de recuperação: Algumas distribuições Linux fornecem uma opção "Modo de recuperação" no menu Grub. Esse modo geralmente liga para um shell root, simplificando o processo de redefinição de senha. No entanto, ainda pode exigir a remoção do sistema de arquivos como leitura.
*
Instâncias de nuvem: Nas máquinas virtuais em nuvem (por exemplo, AWS EC2, Azure VMs, Google Cloud Compute Engine), os procedimentos de recuperação de senha podem variar. Os provedores de nuvem normalmente oferecem mecanismos para redefinir a senha raiz por meio de seus consoles ou APIs da Web. Consulte a documentação para o seu provedor de nuvem específico.
Ao entender esses métodos e suas considerações, você pode recuperar com confiança uma senha de raiz perdida no seu sistema Linux. Lembre -se de priorizar a segurança e sempre faça backup de seus dados.