Como recuperar um arquivo / etc / passwd deletado? [duplicado]

3

Eu deletei o arquivo /etc/passwd e não consigo fazer login agora. Eu não sei a senha do root e tentei muitas senhas, mas nenhuma delas funcionou.

Como posso corrigir isso?

    
por Eren 27.01.2014 / 14:18

3 respostas

5

Esta questão parece já ter as respostas adequadas, vou apenas expandir em @Lekensteyn comentar :

sudo cp /var/backups/passwd.bak /etc/passwd
sudo chmod 644 /etc/passwd
    
por Wilf 27.01.2014 / 14:55
5

Aqui estão os passos para fazer isso graficamente:

  1. Inicialize em um ambiente Ubuntu ao vivo usando uma mídia inicializável do Ubuntu;

  2. Inicie o gerenciador de arquivos do Nautilus e monte sua partição do Ubuntu (aqui no instantâneo, é o Sistema de Arquivos de 129 GB );

    (Pressione Ctrl + L para ver o UUID da partição.)

  3. Inicie o Nautilus com privilégios de root (pressione Alt + F2 , digite gksu nautilus e pressione enter);

  4. A partição do Ubuntu deve aparecer na barra lateral com seu UUID. Clique para montá-lo e vá para o diretório /etc ;

  5. No diretório /etc , role a tela para baixo até encontrar o arquivo chamado passwd- e faça uma cópia disso no diretório ( pressione e segure Ctrl chave, coloque o ponteiro do mouse sobre o arquivo, pressione o botão esquerdo do mouse , arraste o ponteiro do mouse, e então libere o mouse botão seguido pela tecla Ctrl para fazer uma cópia no mesmo diretório, um arquivo chamado passwd- (copy) será criado);

  6. Selecione o arquivo de cópia, clique com o botão direito e selecione renomear . Em seguida, renomeie o arquivo para passwd ;

  7. Após o arquivo ser renomeado para passwd , clique com o botão direito do mouse e selecione Propriedades no menu de contexto e, na guia Permissões , defina as permissões apropriadas , ou seja, o proprietário root deve ter permissão de leitura e gravação enquanto o grupo e outros definem o acesso a < strong> somente leitura e fecha a janela de propriedades;

  8. Agora reinicie seu sistema e você poderá fazer login com sua senha.

Você pode fazer o mesmo usando o terminal em um ambiente ao vivo.

Os passos:

  1. Inicialize para viver a sessão do Ubuntu;

  2. Abra um terminal ou um tty e digite o comando:

    sudo fdisk -l
    

    (e anote o nome do dispositivo da sua partição Ubuntu que estará no formato /dev/sdX .)

  3. Monte o dispositivo

    sudo mount /dev/sdXY /mnt
    

    (repace sdXY com seu dispositivo de destino.)

  4. cd no diretório /etc dos sistemas de destino:

    cd /mnt/etc
    
  5. Use o arquivo de backup para restaurar e defina as permissões apropriadas:

    sudo cp passwd- passwd
    sudo chmod 644 passwd
    

    Ou use o backup em /var/backups/passwd.bak :

    sudo install -m 644 /mnt/var/backups/passwd.bak /mnt/var/backups/passwd
    

    (como apontado por Lekensteyn em seu comentários )

  6. Em seguida, reinicie o seu computador:

    sudo reboot
    
por precise 27.01.2014 / 14:43
3

Se você é capaz de logar apenas abra o terminal e tente isto:

sudo cp /etc/passwd- /etc/passwd

sudo chmod 644 /etc/passwd

Outra

Inicialize no modo de recuperação ou no Ubuntu live Cd. Em seguida, monte sua unidade antiga:

mkdir /olddrive
mount /dev/hda5 /olddrive
assuming that your old drive is on /dev/hda5.
then, cd to /olddrive/etc
type:
echo "root::0:0:Superuser:/:/bin/bash" > passwd

depois reinicie. Isso não irá definir passwd para root.

Depois, você pode fazer login, criar todas as suas contas novamente, etc.

Você também pode usar o backup que é chamado (eu acho) /etc/passwd-

Edit: (outro método "Eu não tentei isso antes, mas acho que deveria funcionar também")

  • Inicie o GRUB na inicialização (pressione ESC durante a inicialização)
  • Pressione e sobre (modo de recuperação)
  • Pressione e sobre a linha que começa com o kernel
  • Pressione a barra de espaço e digite " init=/bin/bash "
  • Pressione Enter
  • Pressione b
  • No prompt de comando, digite: " cp /etc/passwd- /etc/passwd "
  • Reinicie no GRUB novamente
  • Pressione e sobre (modo de recuperação)
  • Pressione e sobre a linha que começa com o kernel
  • Pressione a barra de espaço e digite "init = / bin / bash"
  • Pressione Enter
  • Pressione b
  • No prompt de comando, digite " mount -o remount,rw / "
  • Digite "passwd YOURUSERNAMEHERE" (SE você não souber o seu nome de usuário digite "ls / home" (ou seja, letras minúsculas S e letras minúsculas S) para uma lista de usuários)
  • Insira a nova senha no prompt
  • Reinicie para a inicialização normal.

Fonte

    
por Maythux 27.01.2014 / 14:23