Como listar todos os usuários no Linux

Como listar todos os usuários no Linux

Os usuários são o componente mais importante em um sistema Linux. O Linux fornece comandos integrados aos administradores que lhes permitem gerenciar os usuários com eficiência. Existe um para criar usuários, excluir usuários e alterar suas permissões. Mas que tal listar todos os usuários que estão atualmente presentes em um sistema?





Neste artigo, discutiremos como você pode obter uma lista de todos os usuários do Linux, junto com um breve guia para verificar se um usuário existe ou não em um sistema.





Como mostrar uma lista de todos os usuários no Linux

Quando você cria um novo usuário, o nome de usuário, a senha e outros detalhes são armazenados em arquivos específicos em uma máquina Linux. Felizmente, o Linux permite que você leia e modifique esses arquivos sem qualquer restrição. Usando esses arquivos, você pode saber informações relacionadas aos usuários, como seus nomes de usuário, a contagem de usuários e muito mais.





Usando o arquivo Passwd

o senha file é um arquivo de texto que contém os registros de senha de todos os usuários que estão atualmente presentes em seu sistema. Este arquivo está localizado no / etc diretório em seu armazenamento local e contém as seguintes informações:

  1. Nomes de usuário
  2. Senhas criptografadas
  3. ID do usuário
  4. ID do grupo do usuário
  5. Nome completo
  6. o /casa diretório do usuário
  7. Shell de login do usuário

Modelo cat / etc / passwd ou menos / etc / passwd em seu terminal para ler o arquivo de texto. Abrindo o / etc / passwd arquivo irá gerar uma saída parecida com esta.



root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

A referida saída contém sete campos que contêm informações relacionadas aos usuários. Esses campos são separados por um delimitador --- neste caso, dois pontos. Cada linha na saída denota um único usuário.

Para obter uma lista de todos os nomes de usuário com a ajuda do senha Arquivo:





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

Awk é um utilitário de linha de comando que permite aos usuários do Linux criar programas simples de 'uma linha' que realizam operações rápidas a partir do terminal. No código mencionado acima:

  1. -F significa separador de campo. Uma vez que o caractere dois pontos é o delimitador no / etc / passwd arquivo, passamos os dois pontos como separador no comando awk.
  2. {imprimir $ 1} instrui o sistema a imprimir o primeiro campo. Nesse caso, o primeiro campo é o nome de usuário dos usuários.
  3. / etc / passwd arquivo contém os dados relacionados aos usuários.

Executar o comando acima produzirá os nomes de usuário de todos os usuários. Desde o / etc / passwd arquivo contém usuários do sistema, a saída incluirá seus nomes de usuário também.





root
daemon
bin
sys
sync
games
man

Você pode ajustar o comando awk ligeiramente para imprimir os nomes completos dos usuários. Digite o seguinte comando para mostrar os nomes completos dos usuários no Linux:

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

Como os usuários do sistema têm o mesmo nome de usuário e nome completo, você não notará nenhuma diferença na saída. Apenas os usuários que você adicionou ao seu sistema terão nomes de usuário e nomes completos diferentes.

Alternativamente, você também pode usar cortar em vez do comando awk. A sintaxe de corte é bastante semelhante ao comando awk.

Para imprimir os nomes de usuário no Linux usando cut:

cut -d: f1 /etc/passwd

Aqui, -d é o delimitador, f1 denota o primeiro campo (nome de usuário), e / etc / passwd é o arquivo de texto que contém os dados.

Internet conectado, mas não funciona Windows 10

Para imprimir os primeiros nomes dos usuários usando cut:

cut -d: f5 /etc/passwd

Da mesma forma, você pode gerar outros campos do / etc / passwd arquivo simplesmente substituindo f5 com f1-f7 .

Relacionado: Como alterar sua senha do Linux

Listar usuários com o comando getent

O comando getent imprime o conteúdo de arquivos de texto importantes que atuam como um banco de dados para o sistema. Arquivos como / etc / passwd e /etc/nsswitch.conf contêm informações relacionadas a usuários e redes respectivamente e podem ser lidas usando o comando getent.

posso conectar meus airpods ao meu xbox?

Para imprimir o conteúdo do / etc / passwd arquivo usando getent:

getent passwd

A saída conterá sete campos diferentes separados por dois pontos. Cada campo é reservado para informações específicas, incluindo os nomes de usuário e os caminhos do diretório inicial dos usuários.

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

Você pode encadear o comando getent com awk ou cut para obter apenas a lista de nomes de usuário.

getent passwd | awk -F: '{print }'
getent passwd | cut -d: -f1

Para imprimir os nomes completos dos usuários:

getent passwd | awk -F: '{print }'
getent passwd | cut -d: -f5

Verifique se um usuário existe ou não

Em algumas situações, você pode querer verificar se existe um usuário em seu sistema Linux ou não. o pegada O comando é útil quando você deseja obter um padrão de texto específico de um arquivo.

Você pode usar qualquer um dos comandos a seguir para verificar a existência de um usuário.

compgen -u | grep username
getent passwd | grep username

Se o usuário existir, as informações de login associadas a ele serão exibidas na tela. Por outro lado, se o usuário não estiver presente no sistema, ocorrerá um erro.

Para verificar se um usuário existe em um sistema sem usar grep:

getent passwd username

Você também pode canalizar o getent ou compgen comando com pegada e jogou fora para exibir a saída personalizada.

getent passwd | grep -q username && echo 'User found' || echo 'User not found'
compgen -u | grep -q username && echo 'User found' || echo 'User not found'

O comando acima imprimirá 'Usuário encontrado' se o usuário existir no sistema e 'Usuário não encontrado' se não existir.

Contar o número de usuários em um sistema

Para contar o número de usuários que existem em um sistema Linux:

compgen -u | wc -l
getent passwd | wc -l

Nos comandos acima, compgen e getent são responsáveis ​​por exibir a lista contendo todos os usuários e demais informações a eles relacionadas. o banheiro significa contagem de palavras e é usado para contar o número de palavras ou linhas na saída. o -a bandeira denota Linhas .

Verificando contas de usuário no Linux

Todo administrador Linux deve saber como eles podem gerenciar e administrar outros usuários em um sistema. Dominar os comandos do Linux que permitem criar, remover, controlar e listar outros usuários é uma ótima maneira de iniciar o gerenciamento de usuários.

Ficar confortável com o ambiente Linux deve ser seu primeiro objetivo se você for apenas um iniciante. Existem certas coisas que você deve fazer logo após instalar sua primeira distribuição Linux. Aprender alguns comandos básicos é um deles e é essencial para realizar tarefas simples de computação no Linux.

Compartilhado Compartilhado Tweet O email Como começar a usar o Linux

Interessado em usar o Linux, mas não sabe por onde começar? Aprenda a usar o Linux, desde a escolha de uma distribuição até a instalação de aplicativos.

Leia a seguir
Tópicos relacionados
  • Linux
  • Linux
Sobre o autor Deepesh Sharma(79 artigos publicados)

Deepesh é o Editor Júnior para Linux na MUO. Ele escreve guias informativos sobre o Linux, com o objetivo de fornecer uma experiência agradável a todos os recém-chegados. Não tenho certeza sobre filmes, mas se você quiser falar sobre tecnologia, ele é o cara. Em seu tempo livre, você pode encontrá-lo lendo livros, ouvindo diferentes gêneros musicais ou tocando seu violão.

Mais de Deepesh Sharma

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever