Como podemos mudar a senha do root?

39

Se não soubermos a senha do root e não tivermos acesso root ao computador, como podemos alterar a senha do root?

    
por monu 07.04.2012 / 07:41

3 respostas

63

Aqui estão algumas maneiras em que posso pensar, desde o menos intrusivo até o mais intrusivo.

Sem reinicialização

Com o sudo: se você tiver sudo permissões para executar passwd , poderá fazer:

sudo passwd root

Digite sua senha e digite uma nova senha para o root duas vezes. Feito.

Editando arquivos : isso funciona no caso improvável de você não ter acesso completo de sudo , mas fazer tenha 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 colons : ) com o campo de senha do seu próprio usuário. Salve . O local tem a mesma senha que você. Faça o login e mude a senha para outra coisa.

Estes são os mais fáceis.

Reinicialização necessária

Modo de usuário único : isso foi explicado apenas por Renan. Ele funciona se você puder acessar o GRUB (ou o seu gerenciador de inicialização) e editar a linha de comando do Linux. Não funciona se você usa Debian, Ubuntu e outros. Algumas configurações do carregador de inicialização exigem uma senha para isso e você deve saber isso para continuar. Sem mais delongas:

  1. Reinicialize.
  2. Insira a senha de tempo de inicialização, se houver.
  3. Insira o menu do seu carregador de inicialização.
  4. Se o modo de usuário único estiver disponível, selecione-o (o Debian chama de "modo de recuperação").
  5. Se não, e você executa o GRUB:
    1. Realce sua opção de inicialização normal.
    2. Pressione e para entrar no modo de edição. Você pode ser solicitado a inserir uma senha do GRUB.
    3. Realce a linha que começa com kernel ou linux .
    4. Pressione e .
    5. Adicione a palavra "single" no final. (não esqueça de preceder um espaço!)
    6. Pressione Enter e inicialize a sub-rotina editada. Alguns GRUBs usam Ctrl - X , alguns usam b . Ele diz qual deles está na parte inferior da tela.

Seu sistema será inicializado no modo de usuário único. Algumas distribuições não lhe pedirão uma senha de root neste momento (as que usam Debian e Debian). Você é a raiz agora. Altere 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ê souber o seu nível de execução normal, diga telinit 2 (ou seja o que for).

Substituindo init : superficialmente semelhante ao truque do modo de usuário único, com basicamente as mesmas instruções, mas requer muito mais destreza com a linha de comando. Você inicializa seu kernel como acima, mas em vez de single , você adiciona init=/bin/sh . Isso executará /bin/sh no lugar de init e fornecerá uma concha inicial muito com quase nenhuma comodidade. Neste ponto, seu objetivo é:

  1. Monte o volume da raiz.
  2. Obtenha passwd em execução.
  3. Altere sua senha com o comando passwd .

Dependendo da sua configuração particular, elas 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 o LVM, etc. Sem init , você não está executando daemons ou qualquer outro processo, mas /bin/sh e seus filhos, então você está literalmente sozinho. Você também não tem controle de trabalho, então tenha cuidado com o que você digita. Um cat perdido 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 ser 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 o login como root e altere-o imediatamente.

Outras formas

Obviamente, existem inúmeras variações para o acima. Todos eles se resumem em duas etapas:

  1. Obtenha acesso root ao computador (catch-22 - e o verdadeiro truque)
  2. Altere a senha do root de alguma forma.
por 07.04.2012 / 10:31
6

Isso deve funcionar em praticamente qualquer distro, eu acho.

Se você puder acessar a partição raiz de outro sistema, por exemplo, um live CD, você pode, como root, editar /etc/shadow ; Primeiro você tem que chmod u+w shadow . Encontre a entrada para root , é provavelmente a primeira e se parece com isso:

root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::

Apague tudo entre os dois primeiros dois pontos para terminar:

root::15666:0:99999:7:::

Então chmod u-w shadow . Agora você pode reinicializar o sistema e o root não terá senha. Você pode simplesmente digitar root no prompt de login e não solicitará um. Você pode usar passwd para definir um.

Para ser mais cuidadoso:

  • Crie uma cópia de backup de /etc/shadow primeiro.
  • Não faça login como ninguém além de root até ter definido uma nova senha. Isto não é crítico, mas protege contra a possibilidade teórica de malware não privilegiado fazer algum tipo de granizo mary pass ("Ei, talvez não há senha de root ... "). Meio IMO improvável.
por 17.11.2014 / 13:42
4

A julgar pelas tags que eu uso você está usando o RHEL, mas esta solução deve funcionar igualmente bem para todas as distros.

Se a senha do root for esquecida, você pode inicializar no modo de usuário único e usar isso para alterar a senha. Essa abordagem é descrita em Guia passo a passo da Red Hat :

  1. Entre no menu GRUB e pressione e .
  2. Escolha a linha que começa com kernel , pressione e novamente.
  3. No final desta linha, coloque single . Em seguida, pressione ENTER e b a partir dele.

Eventualmente, você chegará a um prompt no qual poderá digitar passwd root e alterar a senha. Em seguida, digite reboot para reinicializar o sistema.

    
por 07.04.2012 / 07:47

Tags