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
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?
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
Aqui estão os passos para fazer isso graficamente:
Inicialize em um ambiente Ubuntu ao vivo usando uma mídia inicializável do Ubuntu;
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.)
Inicie o Nautilus com privilégios de root (pressione Alt + F2 , digite gksu nautilus
e pressione enter);
A partição do Ubuntu deve aparecer na barra lateral com seu UUID. Clique para montá-lo e vá para o diretório /etc
;
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);
Selecione o arquivo de cópia, clique com o botão direito e selecione renomear . Em seguida, renomeie o arquivo para passwd
;
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;
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:
Inicialize para viver a sessão do Ubuntu;
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
.)
Monte o dispositivo
sudo mount /dev/sdXY /mnt
(repace sdXY
com seu dispositivo de destino.)
cd
no diretório /etc
dos sistemas de destino:
cd /mnt/etc
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 )
Em seguida, reinicie o seu computador:
sudo reboot
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")
init=/bin/bash
" cp /etc/passwd- /etc/passwd
" mount -o remount,rw /
"