como recuperar a linha de usuário root equivocadamente excluída em / etc / passwd

0

Eu tive um acidente com o / etc / passwd - usando putpwent (), substituí a primeira linha do / etc / passwd pelo meu.
Infelizmente essa linha costumava pertencer à raiz.
Agora eu não tenho permissão de root, e não posso mudar isso de volta.
O arquivo pertence à raiz do grupo 0 do usuário: -rw-r--r-- 1 0 root 1.8K Jan 9 11:33 passwd

Alguma ideia de como se recuperar?

    
por Ran Regev 09.01.2014 / 11:21

4 respostas

1

Você pode inicializar usando qualquer LiveCD Linux como o Ubuntu, SystemRescueCD ..etc Em seguida, localize sua partição contendo /etc :

# Using root user of the LiveCD session.
fdisk -l

Isso mostrará todas as partições. Agora monte-os um por um

mkdir /mypartition
mount /dev/sd<x> /mypartition

Até você localizar a partição com seu / etc.

Agora você pode editar seu arquivo passwd para recuperá-lo para a versão correta.

    
por 09.01.2014 / 11:37
2

Quando o gerenciador de inicialização aparecer, adicione

init=/bin/bash

em vez de inicializar normalmente, edite os parâmetros do kernel, então, para uma distro diferente, você pode encontrar sua solução, mas ela deve estar de acordo com as suas necessidades:

mount -o remount,rw /dev/sda1

e mude suas credenciais de root e então deve estar ok

    
por 09.01.2014 / 11:26
2

O que deve funcionar na maioria dos sistemas:

  • Baixe uma distro Linux ao vivo
  • Inicialize no linux ao vivo
  • Monte sua partição onde o arquivo é
  • Autenticar como root no live linux
  • Use chroot para alterar sua raiz para sua partição
  • Edite seu arquivo com qualquer editor: vi , nano , ed ?

Editar 1:

  • Ou você também pode considerar usar passwd para alterar a senha raiz em sua nova raiz
por 09.01.2014 / 11:28
0

Se você tiver outra conta na máquina e ainda conseguir fazer sudo (ou seja, sudo solicita a senha da conta e não root senha). Você pode usar isso para obter root permissões e alterar /etc/passwd .

    
por 09.01.2014 / 13:06

Tags