Você já quis listar todos os usuários em seu sistema Linux ou contar o número de usuários no sistema? Existem comandos para criar um usuário, deletar um usuário, listar usuários logados, mas qual é o comando para listar todos os usuários no Linux?
Este tutorial mostrará como listar usuários em sistemas Linux.
Obtenha uma lista de todos os usuários usando o arquivo / etc / passwd #
As informações do usuário local são armazenadas no arquivo /etc/passwd
. Cada linha neste arquivo representa informações de login para um usuário. Para abrir o arquivo, você pode usar cat
ou less
:
Cada linha do arquivo tem sete campos delimitados por dois pontos que contêm as seguintes informações:
Se você deseja exibir apenas o nome de usuário você pode usar os comandos awk
ou cut
para imprimir apenas o primeiro campo que contém o nome de usuário:
Obtenha uma lista de todos os usuários usando o comando getent #
O comando getent
exibe entradas de bancos de dados configurados no arquivo /etc/nsswitch.conf
, incluindo o passwd
banco de dados, que pode ser usado para consultar uma lista de todos os usuários.
Para obter uma lista de todos os usuários do Linux, digite o seguinte comando :
Como você pode ver, a saída é a mesma de quando conteúdo do arquivo /etc/passwd
. Se você estiver usando LDAP para autenticação de usuário, o getent
exibirá todos os usuários Linux do arquivo /etc/passwd
e do banco de dados LDAP.
Você também pode usar awk
ou cut
para imprimir apenas o primeiro campo contendo o nome de usuário:
Verifique se existe um usuário no sistema Linux #
Agora que sabemos como listar todos os usuários, para verificar se existe um usuário em nossa caixa Linux, podemos simplesmente filtrar a lista de usuários “canalizando a lista para o comando grep
.
Por exemplo, para descobrir se um usuário com o nome jack
existe em nosso sistema Linux, podemos usar o seguinte comando:
Se o usuário existir, o comando acima imprimirá o login do usuário em formação. Nenhuma saída que significa que o usuário não existe.
Também podemos verificar se um usuário existe sem usar o comando grep
conforme mostrado abaixo:
O mesmo de antes, se o usuário existir, o comando exibirá as informações de login do usuário.
Se você quiser saber quantas contas de usuário você tem em seu sistema, canalize a saída getent passwd
para o comando wc
:
Como você pode ver na saída acima, meu sistema Linux tem 33 contas de usuário.
Usuários do sistema e normais #
Não há diferença técnica real entre o sistema e os usuários regulares (normais). Normalmente, os usuários do sistema são criados ao instalar o sistema operacional e novos pacotes. Em alguns casos, você pode criar um usuário do sistema que será usado por alguns aplicativos.
Usuários normais são os usuários criados pelo root ou outro usuário com privilégios sudo. Normalmente, um usuário normal tem um shell de login real e um diretório inicial.
Cada usuário tem um ID de usuário numérico chamado UID. Se não for especificado ao criar um novo usuário com o comando useradd
, o UID será selecionado automaticamente do arquivo /etc/login.defs
dependendo do UID_MIN
e UID_MIN
valores.
Para verificar os UID_MIN
e UID_MIN
valores em seu sistema, você pode usar o seguinte comando:
A partir da saída acima, podemos ver que todos os usuários normais devem ter um UID entre 1000 e 60000. Saber os valores mínimo e máximo nos permite consultar uma lista de todos os usuários normais em nosso sistema.
O comando abaixo listará todos os usuários normais em nosso sistema Linux:
Os valores UID_MIN
e UID_MIN
do seu sistema podem ser diferentes, então a versão mais genérica do comando acima seria:
Se você deseja imprimir apenas os nomes de usuário, basta canalizar a saída para o comando cut
:
Conclusão #
Neste tutorial, você aprendeu como listar e filtrar usuários em seu sistema Linux e quais são as principais diferenças entre o sistema e o Linux normal usuários.
Os mesmos comandos se aplicam a qualquer distribuição Linux, incluindo Ubuntu, CentOS, RHEL, Debian e Linux Mint.