Supondo que todos os usuários sejam usuários locais (ou seja, não há serviço de diretório de rede como LDAP, Active Directory, NIS, etc.), os usuários locais provavelmente serão todos enumerados em /etc/passwd
, que é um arquivo delimitado por dois pontos com o seguintes campos:
username:password:uid:gid:name:home directory:shell
Você pode obter apenas os nomes de usuário e diretórios pessoais, se for mais fácil, assim:
awk -F: '{print $1,$6}' /etc/passwd
Usando a sugestão da Urgoll de usar o comando getent
, isso é:
getent passwd | awk -F: '{print $1,$6}'