“nenhum tal usuário” mas o usuário está no arquivo passwd

11

Olhando os arquivos em / etc /:

/etc/group:lbutler:*:1005:
/etc/master.passwd:lbutler:$6$s..../:1005:1005::0:0:L Butler:/home/lbutler:/bin/bash
/etc/passwd:lbutler:*:1005:1005:L Butler:/home/lbutler:/bin/bash

Mas:

$ passwd lbutler
passwd: lbutler: no such user

Além disso, os arquivos em /home/lbutler/ aparecem como uid 1005 e gid lbutler

Os outros usuários em /etc/passwd não parecem ter um problema

    
por lbutlr 06.04.2014 / 18:54

4 respostas

1

Notei que o usuário imediatamente antes do lbutler tinha um UID e GID de 10014 (em vez do esperado 1014). Esse usuário mudou sua senha e depois disso, o UID 1015 não pôde logar. Usando vipw eu inverti as duas linhas e salvei o arquivo. Ambos os usuários podem agora fazer login e as propriedades aparecem corretamente. Obrigado pelos ponteiros.

    
por 06.04.2014 / 23:19
8

Parece que alguns corrompimentos ocorreram com o seu /etc/master.passwd . Você pode restaurá-lo ao estado normal, tente:

  • vipw para editar /etc/master.passwd .
  • Salve sem alterações.

Você também pode usar pwd_mkdb para atualizar o banco de dados de senhas.

    
por 06.04.2014 / 19:19
1

Experimente pwd_mkdb -p /etc/master.passwd . De man pwd_mkdb :

 -p    Create a Version 7 style password file and install it into
       /etc/passwd.
    
por 11.09.2015 / 04:41
0

O FreeBSD usa os arquivos de banco de dados para procurar as senhas e usuários e assim por diante. Portanto, o / etc / passwd e também o master.passwd estão lá apenas por razões de compatibilidade e informativas. Nunca se deve confiar nisso. Eu não sei se há uma maneira de perguntar diretamente aos arquivos do banco de dados. Talvez eles devam fornecer algum tipo de interface SQL para que o ppl possa verificar quais usuários estão no sistema e assim por diante. Então eles poderiam abolir completamente o / etc / passwd e o master.passwd.

    
por 11.10.2014 / 22:15