Exibir lista de usuários

24

Gostaria de ver quantos usuários estão no meu sistema. Como eu pude visualizar uma lista de todos os usuários no sistema?

ayy lmao
fonte
2
Eu acho que /etc/passwdiria ajudá-lo.
Зелёный
5
Você quer dizer quantas contas de usuário estão no sistema ou quantos usuários estão conectados no momento?
D_Bye 27/01

Respostas:

28

Você pode obter uma lista de todos os usuários com

getent passwd | cut -d':' -f1

Isso seleciona a primeira coluna (nome de usuário) do banco de dados do usuário do sistema. Ao contrário das análises de soluções /etc/passwd, isso funcionará independentemente do tipo de banco de dados usado (tradicional /etc/passwd, LDAP, etc.). Observe que esta lista também inclui usuários do sistema (por exemplo, ninguém, correio, etc.).

O número exato do usuário pode ser determinado da seguinte maneira:

getent passwd | wc -l

Uma lista de usuários atualmente conectados pode ser obtida com o comando usersou who:

users  # or
who
Marco
fonte
Por que não usar getent passwdpara obter a lista de usuários atual, incluindo usuários encontrados via LDAP etc.? Além disso, wc -lseria uma maneira muito mais curta de contar as linhas /etc/passwd(ou a saída de getent passwd, nesse caso).
n.st
@ n.st Isso é melhor mesmo. Eu incluí a alteração na minha resposta. Obrigado.
Marco
Isso não necessariamente lista todos os usuários. Alguns bancos de dados do usuário podem ser feitas não enumeratable
Stéphane Chazelas
3

Você pode simplesmente cato /etc/passwdarquivo ou usar,

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

Para cortar o primeiro campo do mesmo arquivo, ele listaria os nomes que você espera. Additonally, w whoe fingerajudaria você com quem está conectado a partir de quais locais / tty e seus detalhes de atividade.

Keyshov Borate
fonte
1

Isso funciona:

sed 's/:.*//g' /etc/passwd
Mostrar nome
fonte
Você também pode remover a bandeira global, se desejar.
DisplayName