Se não sabemos a senha do root e não temos acesso root à máquina, como podemos alterar a senha do root?
Responder1
Aqui estão algumas maneiras que posso imaginar, da menos intrusiva à mais intrusiva.
Sem reiniciar
Com sudo:se você tiver sudo
permissão para executar passwd
, você pode fazer:
sudo passwd root
Digitarseusenha e digite uma nova senha para root duas vezes. Feito.
Editando arquivos: isso funciona no caso improvável de você não ter sudo
acesso total, mas vocêfazertenha acesso para editar /etc/{passwd,shadow}
. Abra /etc/shadow
, com sudoedit /etc/shadow
ou com sudo $EDITOR /etc/shadow
. Substitua o campo de senha do root (todos os caracteres aleatórios entre o segundo e o terceiro dois pontos :
) pelo campo de senha do seu próprio usuário. Salvar. O local tem a mesma senha que você. Faça login e altere a senha para outra coisa.
Estes são os mais fáceis.
Reinicialização necessária
Modo de usuário único: Isso acabou de ser explicado pelo Renan. Funciona se você conseguir acessar o GRUB (ou seu carregador de boot) e editar a linha de comando do Linux. Não funciona se você usa Debian, Ubuntu e alguns outros. Algumas configurações do carregador de boot exigem uma senha para fazer isso e você deve saber disso para continuar. Sem mais delongas:
- Reinício.
- Digite a senha de inicialização, se houver.
- Entre no menu do seu carregador de boot.
- Se o modo de usuário único estiver disponível, selecione-o (o Debian o chama de 'modo de recuperação').
- Caso contrário, você executa o GRUB:
- Destaque sua opção de inicialização normal.
- Pressione epara entrar no modo de edição. Poderá ser solicitada uma senha do GRUB lá.
- Destaque a linha que começa com
kernel
oulinux
. - Imprensa e.
- Adicione a palavra 'único' no final. (não se esqueça de acrescentar um espaço!)
- Pressione Entere inicialize a estrofe editada. Alguns GRUBs usam Ctrl- X, outros usam b. Diz qual é na parte inferior da tela.
Seu sistema inicializará no modo de usuário único. Algumas distribuições não solicitarão uma senha de root neste momento (as distribuições Debian e baseadas em Debian solicitam). Você está root agora. Mude sua senha:
mount / -o remount,rw
passwd # Enter your new password twice at the prompts
mount / -o remount,ro
sync # some people sync multiple times. Do what pleases you.
reboot
e reboot
, ou, se você conhece seu nível de execução normal, diga telinit 2
(ou o que quer que seja).
Substituindoinit
: superficialmente semelhante ao truque do modo de usuário único, com basicamente as mesmas instruções, mas requer muito mais habilidade com a linha de comando. Você inicializa seu kernel como acima, mas em vez de single
, você adiciona init=/bin/sh
. Isso será executado /bin/sh
no lugar de init
e lhe dará ummuitoconcha inicial quase sem comodidades. Neste ponto seu objetivo é:
- Monte o volume raiz.
- Comece
passwd
a correr. - Altere sua senha com o
passwd
comando.
Dependendo da sua configuração específica, estas podem ser triviais (idênticas às instruções para o modo de usuário único) ou altamente não triviais: carregar módulos, inicializar RAID de software, abrir volumes criptografados, iniciar LVM, etc. Sem init
, você não está executando daemons ou quaisquer outros processos, mas /bin/sh
sim seus filhos, então você está literalmente sozinho. Você também não tem controle de trabalho, então tome cuidado com o que digita. Um foi perdido cat
e você pode ter que reiniciar se não conseguir sair dele.
Disco de resgate: este é fácil. Inicialize um disco de recuperação de sua escolha. Monte seu sistema de arquivos raiz. O processo depende de como seus volumes são dispostos em camadas, mas eventualmente se resume a:
# do some stuff to make your root volume available.
# The rescue disk may, or may not do it automatically.
mkdir /tmp/my-root
mount /dev/$SOME_ROOT_DEV /tmp/my-root
$EDITOR /tmp/my-root/etc/shadow
# Follow the `/etc/shadow` editing instructions near the top
cd /
umount /tmp/my-root
reboot
Obviamente, $SOME_ROOT_DEV
é qualquer nome de dispositivo de bloco atribuído ao seu sistema de arquivos raiz pelo disco de recuperação e $EDITOR
é seu editor favorito (que pode ter que estar vi
no sistema de recuperação). Após o reboot
, permita que a máquina inicialize normalmente; a senha do root será a do seu próprio usuário. Faça login como root e altere-o imediatamente.
Outras maneiras
Obviamente, existem inúmeras variações do acima. Todos eles se resumem a duas etapas:
- Obtenha acesso root ao computador (captura 22 – e o verdadeiro truque)
- Altere a senha do root de alguma forma.
Responder2
Isso deve funcionar em praticamente qualquer distro, eu acho.
Se você puder acessar a partição root de outro sistema, por exemplo, um live CD, você poderá editar como root a partir daí /etc/shadow
; primeiro você tem que fazer isso chmod u+w shadow
. Encontre a entrada para root
, provavelmente é a primeira e se parece com isto:
root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::
Apague tudo entre os dois primeiros dois pontos para obter:
root::15666:0:99999:7:::
Então chmod u-w shadow
. Agora você pode reiniciar o sistema e o root não terá senha. Você pode simplesmente digitar root
no prompt de login e não será solicitado. Você pode então usar passwd
para definir um.
Para ser extremamente cuidadoso:
- Crie uma cópia de backup
/etc/shadow
primeiro. - Não faça login como ninguém além de root até definir uma nova senha. Isto não é crítico, mas protege contra a possibilidade teórica de malware sem privilégios fazer algum tipo deAve Maria, passe("Ei, talvez não haja senha de root..."). IMO meio rebuscado.
Responder3
A julgar pelas tags, presumo que você esteja usando RHEL, mas esta solução deve funcionar igualmente bem para todas as distros.
Se a senha root for esquecida, você pode inicializar no modo de usuário único e usar isso para alterar a senha. Esta abordagem é descrita emo guia passo a passo da Red Hat:
- Entre no menu GRUB e pressione e.
- Escolha a linha que começa com
kernel
e pressione enovamente. - No final desta linha, coloque
single
. Em seguida, pressione ENTERe bsaia dele.
Eventualmente, você chegará a um prompt onde poderá digitar passwd root
e alterar a senha. Em seguida, digite reboot
para reiniciar o sistema.