Se a partição do sistema não estiver criptografada, outro método que funciona é dar boot a partir de um Live CD, daí acessar aquela partição, entrar na pasta
etc, abrir o arquivo
passwd em um editor de textos e então deletar a letra
x na linha do usuário root (essa letra
x representa a senha criptografada do root).
Por exemplo, se a linha do usuário root estiver assim:
root:x:0:0:root:/root:/bin/bash
Ela deverá ser modificada para que fique assim:
root::0:0:root:/root:/bin/bash
Isso deletará a senha do root.
Depois é só salvar e então reiniciar o computador sem o Live CD, efetuar login como usuário normal e daí executar:
su
...para virar root (como a senha foi deletada, o shell não solicitará senha nenhuma) e então executar:
passwd
...para criar uma nova senha para o root.
Se isso não funcionar, é recomendável editar também o arquivo
shadow que fica na mesma pasta
etc e daí substituir a linha do root por esta:
root::::
Depois é só salvar o arquivo
shadow e então reiniciar o computador sem o Live CD, efetuar login como usuário normal e daí executar:
su
...para virar root e então executar:
passwd
...para trocar a senha do root.
Deve haver ainda outros modos de se fazer essa modificação. Se p.ex. a distribuição permitir ingressar no
runlevel (nível de execução)
1 do Linux, que é o modo monousuário (modo no qual o Linux entra em execução com a conta root - e somente a conta root - já conectada ao sistema), basta usar o comando
passwd para trocar a senha.
Se o disco rígido estiver criptografado, aí o acesso via Live CD não funcionará.
Quando ainda se sabe a senha do root, é possível dificultar o acesso ao menu do GRUB configurando-se (num editor de textos) os parâmetros de
/etc/default/grub para:
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
...e então executando-se:
sudo update-grub
Quando ainda se sabe a senha do root, também é possível proteger o próprio menu do GRUB com um usuário e uma senha informados
explicitamente. Por exemplo, se o linuxista quiser que o menu do GRUB fique acessível somente ao usuário
aliel com respectiva senha de acesso
leila, basta abrir o arquivo
/etc/grub.d/00_header e adicionar este código ao final (rodapé) do arquivo:
cat << EOF
set superusers="aliel"
password aliel leila
export superusers
EOF
Após isso, basta executar:
sudo update-grub
...que o menu do GRUB não poderá mais ser acessado.
(fonte:
https://help.ubuntu.com/community/Grub2/Passwords#Superuser_.26_Password_Designation_.28Required.29)
Claro que proteger o menu do GRUB com usuário e senha e criptografar o disco rígido impossibilitam ao linuxista trocar a senha do root caso essa senha seja esquecida. Mas a senha do root não deveria ser esquecida e é recomendável que seja armazenada em um chaveiro protegido, como por exemplo o
KeePass ou o
LastPass.