Altero a última linha em / etc / passwd e não consigo usar o sudo


15

Aqui está o que eu fiz:

  1. Altere um nome de usuário na última linha: tinyparaabc

    • tiny@tty7:~$ sudo vim /etc/passwd
    • Mude isto:
      tiny:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
      para isto:
      abc:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
  2. tiny@tty7:~$ sudo vim /etc/shadow

    • isto mostra: [sudo] passwork for abc:

    • Não alterei minha senha, mas ela não pode fazer login na raiz!

    • Digito Ctrl+ Alt+ F1para tty1mas nem tiny nem abc não podem fazer login com minha senha

e eu tento olhar ls ~ -la, aqui mostra assim:

drwxr-xr-x 28 abc tiny 4096 Apr 6 03:04 .

Como posso fazer login como root? e por que o nome de usuário no prompt tiny@tty7ainda é pequeno enquanto no sudo mostra a senha do abc?

Respostas:


18

O motivo pelo qual você ficou bloqueado após a edição é que o /etc/shadowarquivo continha uma entrada para a senha de, tinymas nenhuma entrada para abc, enquanto o /etc/passwdarquivo continha uma entrada para abce não para tiny. Quando sudoolhou, identificou você corretamente (de acordo com o arquivo de senha) como com abcbase no UID do processo em execução, mas quando procurou comparar o que você digitou como sua senha com a senha criptografada (com hash) armazenada /etc/shadow, não pôde encontrar uma entrada para abc, então ele teve que relatar a falha.

Como shaddy disse em sua resposta , não edite a senha ou os arquivos de sombra manualmente. Se você precisar violar a regra, edite os dois em uma única chamada de vime não saia vimaté que você prove que as alterações são sãs o suficiente para funcionar usando outra janela do terminal e salve cópias de backup dos arquivos antes você começa a invadi-los e reconsidera por que está violando as regras em primeiro lugar, porque provavelmente não é uma boa ideia.


22

NUNCA edite seu arquivo passwd manualmente, pois você estragará tudo.

A maneira correta de alterar seu nome de usuário é:

usermod -l newUsername oldUsername

Então mude a pasta pessoal:

usermod -d /home/newHomeDir -m newUsername

Para alterar a senha, você deve usar:

sudo passwd yourusername

Eu sugiro que você reverta seu arquivo passwd de volta, ou se você não pode editá-lo porque não pode fazer login com root - então inicialize com o live cd e reverta o arquivo novamente. Então use o caminho correto.


1
obrigado ~ Eu pensei que o mais difícil é o login com a raiz reinicialização então eu, escolha o modo revovery, raiz e, em seguida, pegar minha volta passwd ~ lo funcionar ~
tinyork


-3

procedimento para alterar seu nome de usuário (mas não o uid) manualmente:

  1. examine sua cabeça, quando isso falhar, prossiga para a etapa dois.
  2. edite o arquivo shadow duplicando a linha do usuário com o novo nome de usuário.
  3. editar grupos, sudoers, permitindo novas permissões de nome de usuário, manter a idade
  4. simbolicamente vincular o diretório inicial ao novo nome
  5. editar arquivo passwd alterando nome de usuário e diretório inicial
  6. editar sombra, sudoers, grupos para remover entradas antigas que mantivemos na etapa três
  7. editar aliases e outras referências ao nome de usuário antigo.
  8. logout, alterne para um console de texto (a próxima etapa não funcionará se houver algum programa em execução no diretório inicial do usuário, incluindo gerenciadores de janelas)
  9. cd para um diretório acima do diretório inicial.
  10. remova o link simbólico e renomeie o diretório inicial.
  11. logout e logon normalmente.

As coisas são muito mais simples de mudar o nome de usuário de outras pessoas, embora ainda não sejam simples.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.