Comando para listar todos os nomes de usuários em um servidor Linux

0

Qual é o comando que permite gerar uma lista de todos os nomes de usuários autorizados em um servidor Linux? Eu tentei

  1. getent passwd | corte -d: -f 1 | grupos xargs

e

  1. menos / etc / passwd

e

  1. grep 'x: 0:' / etc / passwd e

  2. getent passwd

e

  1. grep "/ bin / bash" / etc / passwd | corte -d: -f1

mas nenhuma das opções acima me dá exatamente o que eu quero, que é simplesmente uma lista de nomes de usuários.

Qualquer ajuda seria muito apreciada

    
por dac2002 01.10.2014 / 18:30

2 respostas

2

Use sua primeira tentativa, mas remova o | xargs groups . Realmente, porém, isso é básico o suficiente para que não seja tão apropriado para este site ...

    
por 01.10.2014 / 18:31
-1

o awk (1) é outra ferramenta útil. O awk é capaz de analisar campos individuais de linhas de texto, com base em um delimitador especificado. No caso do / etc / passwd, esse delimitador é dois pontos, portanto passamos '-F:' na linha de comando do awk. Da mesma forma, como o nome de usuário é o primeiro campo da linha e os campos de números iniciais começam em 1, estipulamos 'print $ 1' para informar ao awk para imprimir o primeiro campo de cada linha.

awk -F: '{ print $1 }' < /etc/passwd

Isso pode ser facilmente adaptado para imprimir qualquer campo do arquivo passwd. Aqui está uma lista de cada nome de usuário (campo 1), seguido por um espaço, seguido por seu shell de login (campo 7):

awk -F: '{ print $1, $7 }' < /etc/passwd
    
por 15.02.2018 / 19:45