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

14

Aqui está o que eu fiz:

  1. Altere um nome de usuário na última linha: tiny to abc

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

    • mostra: [sudo] passwork for abc:

    • Eu não mudei minha senha, mas não consigo fazer o login root!

    • Eu digito Ctrl + Alt + F1 para tty1 , mas nem minúsculo ou < strong> abc não pode logar com minha senha

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

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

Como posso logar root? e porque o nome de usuário no prompt tiny@tty7 ainda é minúsculo enquanto no sudo ele mostra a senha do abc?

    
por tinyork 06.04.2015 / 09:59

4 respostas

18

O motivo pelo qual você ficou preso após a edição é que o arquivo /etc/shadow continha uma entrada para a senha tiny , mas nenhuma entrada para abc , enquanto o arquivo /etc/passwd continha uma entrada para abc e não para tiny . Quando sudo pareceu, ele identificou você corretamente (de acordo com o arquivo de senha) como abc com base no UID do processo que estava executando, mas quando comparou o que você digitou como sua senha com o criptografado (hash) senha armazenada em /etc/shadow , não foi possível encontrar uma entrada para abc , então ele precisou informar a falha.

Como shaddy disse em seu answer , não edite a senha ou os arquivos shadow manualmente. Se você tiver que quebrar a regra, edite os dois em uma única chamada de vim e não saia de vim até provar que as alterações são sãs o suficiente para funcionar usando outra janela de terminal e salve cópias de backup dos arquivos antes de começar a hackeá-los e reconsidere por que você está violando as regras, porque provavelmente não é uma boa ideia.

    
por Jonathan Leffler 06.04.2015 / 16:07
22

Você NUNCA deve editar o seu arquivo passwd manualmente porque você vai bagunçar as coisas.

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

usermod -l newUsername oldUsername

Em seguida, altere a pasta inicial:

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 você não pode logar com root - então inicialize com o live cd e reverta o arquivo de volta. Então use o caminho adequado.

    
por shaddy 06.04.2015 / 10:05
0

Uso: vipw

Eu sempre usei isso no FreeBSD e apenas confirmei que você pode usá-lo para o Ubuntu também. Por favor, leia esta página: Página do Ubuntu Man for vipw

    
por Lady Geek 08.04.2015 / 00:34
-3

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

  1. examine sua cabeça, quando isso falhar, siga para a etapa dois.
  2. edite o arquivo de sombra duplicando a linha do usuário com o novo nome de usuário.
  3. edite grupos, sudoers, permitindo novas permissões de nome de usuário, mantenha o antigo
  4. associar simbolicamente o diretório inicial ao novo nome
  5. edite o arquivo passwd alterando o nome de usuário e o diretório inicial
  6. edite shadow, sudoers, groups para remover entradas antigas que mantemos na etapa três
  7. edite 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 algum programa estiver em execução no diretório inicial dos usuários, incluindo gerenciadores de janela)
  9. cd para um diretório acima do seu diretório pessoal.
  10. remova o link simbólico e renomeie o diretório inicial.
  11. faça logout e faça login normalmente.

As coisas são muito mais simples de alterar o nome de usuário, embora ainda não seja simples.

    
por hildred 06.04.2015 / 18:36