Eu diria que você gostaria de confiar em /etc/passwd
e similares (por exemplo, /etc/shadow
para sistemas baseados em Shadow; em uma nota secundária fora do tópico, alguns sistemas similares podem usar /etc/master.passwd
ou outros arquivos semelhantes ).
O /etc/passwd
é normalmente tratado como a decisão autoritativa absoluta sobre se um usuário existe ou não. Se você usar qualquer um dos outros métodos descritos nesta página, e se esses outros métodos apontarem para um usuário existente, mas /etc/passwd
não, então eu diria que o usuário não existe corretamente no sistema, por definição dos mais padrão comum que o software provavelmente confiaria.
Dito isso, adicionarei outra maneira de adicionar à mistura algumas outras opções que podem ser usadas.
ls -l /home | grep ^customUserName$<BR>
echo $?
Evidentemente, substitua "customuserName" pelo nome do usuário que você deseja verificar. Substitua / home por / users se é isso que seu sistema usa. Isso pode não localizar todos os usuários em / etc / passwd se nenhum diretório inicial foi criado para o usuário em particular, o que poderia ocorrer se você simplesmente importasse usuários (isto é, linhas de texto em / etc / passwd) e se diretórios pessoais não faça-se a menos que / até que uma pessoa faça o login.