Como posso exibir todos os usuários e grupos com um comando?

123

Eu quero exibir:

  1. Todos os usuários e
  2. Todos os grupos

    no meu sistema usando a linha de comando.

userse groupscomandos exibem usuários conectados no momento e grupos aos quais um usuário pertence, respectivamente.

Como exibir uma lista de todos os usuários e todos os grupos por linha de comando?

Pandya
fonte

Respostas:

189

Você pode exibir com a ajuda do compgencomando builtin da seguinte maneira:

  1. Para exibir todos os usuários, execute o seguinte comando:

    compgen -u
    
  2. Para exibir todos os grupos, execute o seguinte comando:

    compgen -g
    

No entanto, você também pode exibir todos os usuários por cut -d ":" -f 1 /etc/passwd.

Pandya
fonte
14
Agradável! talvez seja preferível usar getent passwd/ getent groupem vez de cat'ing os arquivos locais ( getentdeve trabalhar para contas não locais também)
steeldriver
O @steeldriver compgenparece funcionar para contas não locais (pelo menos para LDAP).
Muru
11
@muru que se referia ao segundo método especificamente ( cat /etc/passwd | cut -d ...)
steeldriver
@steeldriver Ah, desculpe. Eu pensei que era uma observação mais geral.
Muru
Bem, no meu ubuntu, tenho alguns arquivos criados pelo docker mount com 999:999as user:group, mas infelizmente nenhum dos comandos acima os imprime.
Marinos An