Este guia demonstra como listar usuários no Linux.
Listando usuários
O sistema armazena a lista de usuários em arquivos e bancos de dados específicos. Podemos acessá-los usando várias ferramentas. Também podemos filtrar a saída para coletar informações específicas.
Lista os usuários de / etc / passwd
O arquivo / etc / passwd é um banco de dados baseado em texto simples que contém informações sobre todos os usuários no sistema. O arquivo é de propriedade de root com a permissão de arquivo 644. Para obter uma explicação detalhada das permissões de arquivo, verifique este guia sobre permissão e propriedade de arquivo do Linux.
Podemos verificar o conteúdo do arquivo / etc / passwd para ter uma lista abrangente de todos os usuários do sistema.
$ cat / etc / passwd | sort | menos
Cada linha no arquivo denota um nome de usuário exclusivo e suas informações associadas. As informações são separadas em sete campos, delimitados por dois pontos. Aqui está um rápido resumo dos campos.
- Campo 1: O nome de usuário do usuário.
- Campo 2: descreve se a senha do usuário está criptografada. Se o valor for x, significa que a senha está armazenada no arquivo de texto / etc / shadow. É um arquivo protegido pelo sistema que requer privilégio sudo para ser acessado.
- Campo 3: O UID (ID do usuário) do usuário.
- Campo 4: O GID (ID do grupo) do usuário.
- Campo 5: Nome de usuário completo (GECOS).
- Campo 6: Diretório pessoal dedicado ao usuário.
- Campo 7: O shell de login do usuário. Por padrão, este valor seria definido como / bin / bash.
Se as informações adicionais não forem necessárias no momento, podemos omiti-las na saída.
$ cat / etc / passwd | awk -F: '{print $ 1}' | ordenar$ cat / etc / passwd | cut -d: -f1 | ordenar
Listando usuários usando getent
O termo getent é uma forma abreviada de obter entradas do banco de dados administrativo. Como sugere, getent pode trabalhar com vários bancos de dados administrativos. Verifique todos os bancos de dados administrativos suportados.
Estamos interessados no banco de dados passwd, pois contém informações sobre todos os usuários do sistema. Confira o senha banco de dados com getent.
$ getent passwd | ordenar
A saída é semelhante ao conteúdo de / etc / passwd. Observe que este comando getent exibirá usuários dos bancos de dados passwd e LDAP se o sistema estiver configurado para usar LDAP para autenticação de usuário. Para um uso mais aprofundado, verifique este guia sobre o comando getent do Linux.
Podemos remover todas as informações adicionais da saída, mantendo apenas o nome de usuário.
$ getent passwd | awk -F: '{print $ 1}' | ordenar$ getent passwd | cut -d: -f1 | ordenar
Listando usuário de um grupo
No Linux, grupos são unidades organizacionais para organizar e administrar contas de usuários. Isso ajuda a gerenciar os vários sistemas e permissões de arquivos com mais facilidade.
Para listar todos os usuários de um determinado grupo de usuários, podemos usar getent.
grupo $ getent
Usando lista de usuários
Agora sabemos como listar todos os usuários do sistema. Aqui estão alguns cenários para aplicar esse conhecimento.
Verificando a existência do usuário
A partir da lista de usuários, podemos verificar se existe um usuário no sistema Linux. A ferramenta getent pode verificar se o usuário existe no sistema.
Outro método (embora não tão bom) é usar grep. Podemos simplesmente filtrar a lista de usuários usando grep. Como cada usuário tem sua própria entrada exclusiva, isso não gerará colisões.
$ getent passwd | grep
Número de contas de usuário
Como vimos até agora, todos os métodos relatam um usuário único em cada linha da saída. Contando o número da linha, podemos verificar quantos usuários existem atualmente no sistema.
Para contar o número da linha, usaremos o banheiro ferramenta. Canalize a saída getent para o comando wc.
$ getent passwd | wc -l
Listando usuários conectados
Se vários usuários estiverem logados, podemos verificar a lista de usuários conectados usando o quem comando.
Existem três colunas diferentes de informações na saída.
- Coluna 1: O nome de usuário conectado.
- Coluna 2: O tipo de conexão com o sistema.
- Coluna 3: A hora e data de início da sessão.
Pensamentos finais
Neste tutorial, demonstramos como listar e filtrar os usuários no sistema. Ele também mostra alguns dos usos potenciais da lista de usuários. Esses métodos funcionam independentemente de qual distribuição Linux você está usando.
O gerenciamento de usuários é uma grande parte do ecossistema Linux. Para saber mais, verifique este guia aprofundado sobre como listar e gerenciar usuários no Linux .
Boa computação!