cat /etc/passwd # show all users
cat /etc/group # show all groups
Você pode enviar a saída para outros programas / scripts para processamento posterior.
Estou no processo de migração para um novo servidor e estou tendo vários problemas porque as contas de usuário não estão presentes (por exemplo, o nginx parece estar sendo executado sob o usuário nginx no novo sistema www-data no antigo sistema).
Existe uma maneira fácil de obter todas as informações da conta do usuário / grupo. (O ideal é que eu gostaria de criar scripts para a criação de novas contas com o Ansible, se isso fizer alguma diferença).
Como listar todos os usuários e grupos depende de como a autenticação é configurada.
Os mais básicos são os arquivos /etc/passwd
e /etc/group
usados para autenticação local.
O uso desses arquivos é insuficiente para obter uma listagem completa quando os dados do usuário / grupo são armazenados centralmente, por exemplo, em LDAP, NIS, Hesiod, etc.
A autenticação central geralmente é configurada além de os arquivos /etc/passwd
e /etc/group
para permitir que o sistema seja inicializado e viável no modo de usuário único por meio do arquivo de configuração de troca de serviço de nome /etc/nsswitch.conf
Se configurado com o NSS:
getent passwd
mostrará todas as contas de usuário : as de /etc/passwd
e seu diretório central de usuários.
getent group
mostrará todos os grupos .
Ao monitorar o status de saída do comando getent
, você também saberá se realmente listou todos os usuários / grupos (código de saída 0
) ou se está faltando algum (código de saída 3
indica um banco de dados que não suporta enumeração e você precisará usar ferramentas apropriadas para esse banco de dados específico ...).
Tags user-management users