Todos os utilizadores já se esqueceram, pelo menos uma vez, das palavras-passe de sítios Web e redes sociais que não utilizavam há muito tempo. Uma situação semelhante pode acontecer com uma distribuição Linux. Não é difícil esquecê-la, especialmente se houver muitas distribuições diferentes com senhas diferentes. A seguir, vamos falar sobre o que fazer se a sua palavra-passe Linux foi esquecida, como redefini-la corretamente e não apagar os seus dados. A reposição de uma palavra-passe Linux não é uma tarefa muito difícil. Mas deve ficar claro que não pode descobrir a sua palavra-passe, apenas pode redefini-la.
Para repor a palavra-passe, precisa de se munir de um disco LiveCD com qualquer distribuição Linux, sendo apenas importante fazer corresponder a capacidade de bits do sistema a ser recuperado e o sistema no disco. É melhor utilizar as versões mais recentes das distribuições. São mais convenientes para trabalhar com elas, embora até o Gentoo e o ArchLinux sirvam.
De seguida, arranque a partir do disco LiveCD e abra o terminal. Se o disco inicializar em um shell de comando sem uma interface gráfica, tudo bem. Você precisa de saber em que disco rígido está localizado o sistema de ficheiros raiz da distribuição que vai instalar. Pode ver todos os discos disponíveis com o comando:
$ fdisk -l
Como regra geral, o nome do disco começa com as letras sd para discos normais e nvme para SSDs M.2. A partição raiz é pequena se tiver sido atribuída uma partição separada para a pasta home durante a instalação e se tiver um sistema de ficheiros Linux. Se não foi criada uma partição separada para o gestor de arranque, a partição raiz também será marcada com um asterisco como sendo de arranque. Por exemplo, esta é /dev/nvme0n1p1
. Ela deve ser montada em /mnt
:
$ mount /dev/nvme0n1p1 /mnt/
Então podemos ver /dev/nvme0n1p1 - a partição onde o sistema foi instalado. Ela também pode ser /dev/sda1
ou /dev/sdb5
. Então entre no ambiente chroot:
$ chroot /mnt /bin/bash
Encontramo-nos agora no ambiente da distribuição que está instalada no disco montado. Esta é uma variante do modo de recuperação sem iniciar o sistema operativo.
A seguir, o utilizador pode definir a password do utilizador root linux usando o comando passwd
:
$ passwd root
Pode acontecer que o utilitário dê um erro, mas se não der nenhum erro, a palavra-passe foi actualizada com sucesso e pode utilizar o seu sistema.
Há mais uma maneira. As palavras-passe de todos os utilizadores são armazenadas no ficheiro /etc/shadow
desta forma:
user_name:encrypted password:user_id:group id_id
Por exemplo:
root:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:0:0:::::
bin:!!:9797:0:::::
daemon:!!:9797:0:::::
Para cada entrada, todos os parâmetros são separados por dois pontos, o primeiro parâmetro (root) é o nome de utilizador, o segundo parâmetro (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...) é o hash da palavra-passe. Para alterar a palavra-passe para a pretendida, é necessário primeiro criar manualmente o seu hash. Para o fazer, pode utilizar este comando:
$ openssl passwd -1 -salt xyz new_password
Em seguida, cole-o no lugar do anterior:
$ vi /etc/passwd
Não é possível remover completamente a senha do Linux, pois sem a senha não será possível autorizar-se no sistema, então a melhor opção é substituí-la por uma nova. Depois de a substituir, guarde as alterações e já está. Antes de reiniciar, não se esqueça de sair do chroot e desmontar a raiz do sistema:
$ exit
$ umount /mnt
Se não tiver um disco à mão, pode usar o Grub para este fim. No menu de opções de arranque, prima E para editar os parâmetros do kernel:
Aqui, na linha vmlinuz, depois de todos os parâmetros (veja a captura de ecrã), tem de adicionar o parâmetro init=/bin/bash
:
Prima Ctrl+D
para continuar o arranque. Após a inicialização estar completa, o kernel passará o controlo para o comando da shell bash que passámos nos parâmetros do kernel, onde pode recuperar a palavra-passe. Por predefinição o sistema de ficheiros está montado em modo apenas de leitura, para poder alterar alguma coisa tem de o remontar para escrita:
$ exit
$ umount /mnt
Todas as outras acções com o ficheiro /etc/shadow
são semelhantes ao primeiro ponto.