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?

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.