Se não sabemos a senha root e não temos acesso root à máquina, como podemos alterar a senha root?
Se não sabemos a senha root e não temos acesso root à máquina, como podemos alterar a senha root?
Respostas:
Aqui estão algumas maneiras pelas quais consigo pensar, desde o menos invasivo até o mais invasivo.
Com sudo: se você tiver sudo
permissões para executar passwd
, você pode:
sudo passwd root
Digite sua senha e digite uma nova senha para root duas vezes. Feito.
Edição de arquivos : isso funciona no caso improvável que você não tem pleno sudo
acesso, mas você fazer têm acesso a editar /etc/{passwd,shadow}
. Abra /etc/shadow
, com sudoedit /etc/shadow
ou com sudo $EDITOR /etc/shadow
. Substitua o campo de senha da raiz (todos os caracteres aleatórios entre o segundo e o terceiro ponto :
) pelo campo de senha do seu próprio usuário. Salve . 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.
Modo de usuário único : isso foi explicado por Renan. Funciona se você pode 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 alguns outros. Algumas configurações do carregador de inicialização exigem uma senha para fazer isso, e você deve saber para prosseguir. Sem mais delongas:
kernel
ou linux
.Seu sistema será inicializado no modo de usuário único. Algumas distribuições não solicitarão uma senha root neste momento (o Debian e o Debian o fazem). Você é a raiz 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 seja o que for).
Substituindoinit
: superficialmente semelhante ao truque do modo de usuário único, com praticamente as mesmas instruções, mas requer muito mais proeza 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 fornecerá um shell muito cedo, com quase sem comodidades. Neste ponto, seu objetivo é:
passwd
correndo.passwd
comandoDependendo da configuração específica, 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 o RAID de software, abrir volumes criptografados, iniciar o LVM etc. Sem init
, você não está executando daemons ou outros processos, mas /bin/sh
e seus filhos, então você está literalmente sozinho. Você também não tem controle de tarefas, portanto, tenha cuidado com o que digitar. Um foi extraviado cat
e você pode ter que reiniciar se não conseguir sair dele.
Disco de resgate : é 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 estratificados, 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
é o nome do dispositivo de bloco atribuído ao seu sistema de arquivos raiz pelo disco de recuperação e $EDITOR
é o seu editor favorito (que pode estar vi
no sistema de recuperação). Depois disso 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.
Obviamente, existem inúmeras variações para o acima. Todos eles se resumem a dois passos:
Isso deve funcionar em praticamente qualquer distro, eu acho.
Se você puder acessar a partição raiz de outro sistema, por exemplo, um CD ao vivo, poderá, como raiz, editar /etc/shadow
; primeiro você precisa 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 acabar com:
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 digitar root
no prompt de login e ele não solicitará um. Você pode usar passwd
para definir um.
Para ter um cuidado extra:
/etc/shadow
primeiro.passwd
em um ambiente chroot a partir do CD ao vivo?
/etc/shadow
A julgar pelas tags, acredito que você esteja usando o RHEL, mas esta solução deve funcionar igualmente bem para todas as distros.
Se a senha root for esquecida, você poderá inicializar no modo de usuário único e usá-lo para alterar a senha. Esta abordagem é descrita no guia passo a passo da Red Hat :
kernel
, pressione enovamente.single
. Em seguida, pressione ENTERe bsaia dela.Você chegará a um prompt onde poderá digitar passwd root
e alterar a senha. Em seguida, digite reboot
para reiniciar o sistema.
/boot/grub/grub.conf
para remover a senha bootloader e /etc/inittab
mudar o shell de usuário único para algo como bin / / sh (@pradeepchhetri cc)