Como posso obter uma lista de usuários / grupos do Linux?

3

Eu preciso obter e filtrar a lista de usuários do Linux como:

username1 username1_group
username2 username2_group
...
usernameN usernameN_group

Eu tentei, mas apenas o que encontrei é:

cat /etc/passwd | grep /home | cut -d: -f1

Isso me dá a lista de usuários na pasta / home. Mas como posso adicionar o nome do grupo a cada um deles?

    
por HopelessN00b 30.03.2010 / 19:22

4 respostas

4

Tente isto:

getent passwd | awk -F: '{print $1}' | while read name; do groups $name; done
    
por 30.03.2010 / 19:47
3
getent passwd

... e corte o que você precisa.

Além disso, o getent tem a vantagem de procurar em todos os bancos de dados do sistema. O / etc / passwd contém apenas informações para usuários locais, mas não para outros locais como LDAP, NIS, etc.

    
por 30.03.2010 / 19:26
2

A lista de grupos é /etc/group .

Para obter uma lista dos grupos em que um usuário específico está, você pode executar

$ groups username
    
por 30.03.2010 / 19:26
1

dê uma olhada no / etc / group

    
por 30.03.2010 / 19:26

Tags