Eu estava tentando alterar meu nome de usuário e também meu diretório pessoal ( /home/username
) e meu sistema começou a falhar. Excluí o passwd
arquivo, mas eu tinha um backup chamado passwd_bkp
. Tentei renomear isso passwd_bkp
como passwd
e não funcionou. Nenhum comando estava sendo executado ... Eu estava em uma janela de terminal.
Reiniciei meu sistema e agora não consigo efetuar login. O GRUB oferece duas opções: Linux e modo de recuperação.
Tentei abrir uma sessão como root, mas ele diz que o sistema de arquivos está corrompido. Não consigo acessar meus arquivos.
Perdi todos os meus arquivos?
login
authentication
users
passwd-file
joao rodrigo leao
fonte
fonte
/etc/passwd
arquivo , também não é possível redefinir a senha. Você precisa restaurar (ou recriar) opasswd
arquivo. E uma vez feito isso, geralmente não há necessidade de redefinir a senha.Respostas:
Não, dada sua descrição, você não perdeu nenhum dos seus arquivos (exceto os
/etc/passwd
que você excluiu, mas os quais fez backup).Inicialize um CD / DVD ao vivo do Ubuntu ou uma unidade flash USB ao vivo. Selecione
Try Ubuntu
(nãoInstall Ubuntu
). Quando a área de trabalho for carregada, abra uma janela do Nautilus (navegador de arquivos). Você pode encontrar a partição para o seu sistema Ubuntu emDevices
. Clique nele para montá-lo.Agora você pode restaurar o backup. Você precisa fazer isso como root, no entanto. Aqui está uma maneira bastante fácil de fazer isso.
Abra uma janela do Terminal ( Ctrl+ Alt+ T). No Terminal, digite
cd
e digite a Spacetecla, mas não pressione Enterainda.No Nautilus, encontre o
etc
diretório dentro do sistema Ubuntu instalado. (Não é o mesmo que oetc
diretório do CD ativo. Oetc
diretório dentro do sistema Ubuntu instalado está na partição que você acabou de montar.)Arraste esse
etc
diretório para o Terminal, que colará seu caminho completo no Terminal, concluindo ocd ...
comando.Pressione Enterpara executar o comando. Agora você está no diretório que continha seu
passwd
arquivo. Estou assumindo que o seu arquivo de backup,,passwd_bkp
também está localizado aqui.Execute este comando:
Isso restaura o
passwd
arquivo do seu backup, então agora você poderá reiniciar, remover a unidade flash CD / DVD ou USB e inicializar novamente no sistema Ubuntu instalado. Seu sistema Ubuntu instalado deve funcionar novamente.Para o futuro, você deve estar ciente de que não é recomendado para editar manualmente
/etc/passwd
,/etc/group
,/etc/shadow
, ou/etc/gshadow
. Em vez disso, você deve usar os utilitários fornecidos como parte do Ubuntu para fazer as alterações necessárias nos usuários e grupos no seu sistema. Você provavelmente está ciente de que pode editar isso nas Configurações do sistema ou comusers-admin
. Mas também existem utilitários de linha de comando muito poderosos para isso, que ainda são muito mais seguros e fáceis do que editar manualmente os arquivos de configuração. Aqui está a documentação dos utilitários mais relevantes no Ubuntu:adduser
/addgroup
deluser
/delgroup
usermod
groupmod
useradd
(nível mais baixo queadduser
, você geralmente deve usaradduser
)userdel
(nível mais baixo quedeluser
, você geralmente deve usardeluser
)groupadd
(nível mais baixo queaddgroup
, você geralmente deve usaraddgroup
)groupdel
(nível mais baixo quedelgroup
, você geralmente deve usardelgroup
)passwd
gpasswd
pwck
grpck
Você pode alterar seu nome de usuário com alguns desses utilitários. Esta resposta explica uma maneira em detalhes. No entanto, você deve estar ciente (como atualmente é comentado por um comentário) de que alguns aplicativos assumem que seu nome de usuário permanece o mesmo. Portanto, alterar seu nome de usuário pode causar alguns problemas.
fonte
/etc/passwd-
ou/var/backups/passwd.bak
. Certifique-se de definir as permissões corretas. Exemplo:sudo install -m644 /etc/passwd- /etc/passwd
Como alternativa à inicialização de um livecd, você pode pressionar
e
no menu grub para editar a entrada do modo de recuperação e adicionarinit=/bin/sh
aos argumentos do kernel. Isso o levará diretamente para um shell raiz, onde você poderá copiar o arquivo de backup de volta ao original após remontar a leitura / gravação do sistema de arquivosmount -o remount,rw /
.fonte
/etc/passwd
, não há usuário chamado root nem usuário com uid = 0 . Os utilitários necessários funcionarão necessariamente sob essas condições incomuns?cp
oumv
não precisa de / etc / passwd.Você deve ler primeiro a resposta de Eliah Kagan, antes de continuar lendo esta resposta. Ele explica como lidar com a situação e por que geralmente não é necessário alterar / etc / passwd manualmente.
De qualquer forma, se você realmente sabe o que está fazendo e precisa editar
/etc/passwd
manualmente , pode fazê-lo, mas ainda assim não deve simplesmente alterar os arquivos com o seu editor favorito. Em vez disso, há a ferramentaNas páginas do manual:
Por exemplo, se você deseja alterar o UID de um usuário, tanto quanto eu sei, editar os arquivos manualmente, é a única maneira. Além disso, se você quiser alterar a senha de um usuário e voltar à sua anterior sem saber, não há como
usermod
ou não. Mas se você salvar a senha com hash do arquivo de sombra, altere a senha do usuário e poderá adicionar a senha de hash novamente, editando novamente o arquivo de sombravipw -s
.fonte
Depois de seguir a resposta de @ EliahKagan, não consegui acessar
lightdm
e minha conta não estava listada. Descobri que a permissão dopasswd
arquivo não estava configurada corretamente; o usuário lightdm não teve acesso a ele. Aqui está como eu consertei :.Faça login em um tty Ctrl+ Alt+F1
mude para o
/etc
diretórioEm seguida, altere as permissões para
644
Então faça
ls -la
a string de permissão deve ficar assim
fonte
Se você pode fazer login, basta abrir o terminal e tentar o seguinte:
Outro
Inicialize no modo de recuperação ou no Ubuntu live Cd. Em seguida, monte sua unidade antiga:
depois reinicie. Isso não definirá senha para raiz.
Em seguida, 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 que eu não tentei antes, mas acho que deve funcionar também)
init=/bin/bash
cp /etc/passwd- /etc/passwd
init=/bin/bash
mount -o remount,rw /
passwd YOURUSERNAMEHERE
(se você não souber o tipo de nome de usuáriols /home
(L minúsculo e S minúsculo) para uma lista de usuários)Fonte
fonte