Linux: Como listar todos os usuários

Para listar todos os usuários no Linux, o melhor comando de uso geral é `getent` getent passwd. Se você quiser apenas os nomes de usuário, execute ` getent username` getent passwd | cut -d: -f1. Isso geralmente é mais completo do que ler /etc/passwddiretamente o nome de usuário, porque o `getent` segue a configuração do Name Service Switch (NSS) do sistema , podendo incluir contas fornecidas por serviços como LDAP ou outras fontes de identidade configuradas.

Liste todos os usuários com getent

Abra um terminal e execute o seguinte comando:

getent passwd

Cada linha representa um registro de usuário. Para exibir apenas os nomes de login, utilize:

getent passwd | cut -d: -f1

Você também pode consultar uma conta conhecida sem precisar percorrer a lista completa:

getent passwd alice

A documentação da Biblioteca GNU C explica que o NSS controla como os bancos de dados do sistema, como o `/etc/sysctl`, passwdsão resolvidos por meio do `/etc/sysctl` /etc/nsswitch.conf. Consulte a documentação do NSS da Biblioteca GNU C.

Terminal Linux mostrando o comando getent passwd e vários registros de contas de usuário.
getent passwdExibe os registros de conta disponíveis por meio das fontes de banco de dados de usuários configuradas.

Listar usuários locais de /etc/passwd

Se você deseja armazenar contas especificamente no banco de dados de senhas local, leia o /etc/passwdarquivo . O arquivo contém um registro separado por dois pontos para cada conta local. Um registro típico inclui o nome de usuário, um espaço reservado para a senha, o UID, o GID primário, um campo de comentário, o diretório inicial e o shell de login.

Somente para nomes de usuário:

cut -d: -f1 /etc/passwd

O mesmo resultado pode ser obtido com awk:

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

Essa lista normalmente inclui tanto usuários humanos quanto contas de serviço, como contas de administrador root, daemoncontas de usuário ou contas criadas por softwares instalados.

Terminal Linux mostrando o comando `cut` extraindo nomes de usuário do arquivo local `/etc/passwd`.
O cutcomando extrai apenas o primeiro campo, que é o nome de usuário.

Veja os registros completos da conta local.

Para inspecionar o arquivo local completo, use lesspara que você possa rolar confortavelmente:

less /etc/passwd

Você também pode imprimir o arquivo diretamente:

cat /etc/passwd

Em sistemas Linux modernos, o campo de senha geralmente contém x. Isso não significa que a senha seja armazenada como texto simples em /etc/passwd; os hashes de senha são normalmente mantidos separadamente em /etc/shadow, que possui permissões mais restritivas. O projeto Linux man-pages documenta os sete campos e esse comportamento de senha oculta em passwd(5) .

Terminal Linux exibindo registros completos separados por dois pontos do arquivo /etc/passwd
Uma /etc/passwdentrada completa contém o nome de usuário, UID, GID, diretório inicial, shell e outros campos da conta.

Liste os nomes de usuário com o Bash compgen.

Se você estiver usando Bash, compgenpode gerar candidatos para autocompletar nomes de usuário:

compgen -u

Para obter um resultado extenso, navegue pelas páginas com:

compgen -u | less

Ou remova os nomes duplicados e ordene a saída:

compgen -u | sort -u

compgené um comando interno do Bash, portanto é menos universal do que getentpara scripts que precisam funcionar em diferentes shells. O manual do GNU Bash documenta o uso compgende `cd` como parte dos recursos de autocompletar programáveis ​​do Bash.

Terminal Linux mostrando o comando `compgen -u` redirecionado para o comando `less` com uma lista paginada de nomes de usuário.
Em Bash, compgen -u | lessfornece uma lista paginada de nomes de usuário.

Como exibir usuários comuns em vez de contas de serviço?

Não existe um limite de UID único que seja correto para todas as distribuições Linux ou organizações. Muitos sistemas reservam UIDs mais baixos para contas de sistema e atribuem usuários comuns a partir de um mínimo configurado, mas essa política pode variar. Se o seu sistema usa UIDs /etc/login.defs, você pode verificar o mínimo configurado com:

grep '^UID_MIN' /etc/login.defs

Você também pode procurar por contas com shells interativos como uma pista prática:

getent passwd | awk -F: '$7 !~ /(nologin|false)$/ {print $1}'

Isso é apenas uma heurística: uma conta pode ter um shell interativo sem ser um usuário comum de desktop, e usuários gerenciados externamente podem seguir políticas de UID diferentes.

Salvar, contar ou pesquisar a lista de usuários

Depois de obter a lista necessária, as ferramentas padrão do shell facilitam a sua reutilização:

  • Salvar nomes de usuário: getent passwd | cut -d: -f1 > ~/linux-users.txt
  • Contagem de contas retornadas: getent passwd | cut -d: -f1 | wc -l
  • Encontrar uma conta: getent passwd username

Qual método você deve usar?

ComandoMelhor para
getent passwdMelhor padrão; segue as fontes de usuário NSS configuradas.
cut -d: -f1 /etc/passwdSomente nomes de usuário locais
cat /etc/passwdouless /etc/passwdInspecionando registros completos de contas locais
compgen -uListagem rápida de nomes de usuário do Bash

Para a maioria dos administradores e usuários de desktop, comece com getent passwd | cut -d: -f1. Use /etc/passwdquando você precisar intencionalmente apenas de contas locais.

Deixar um comentário

Como instalar o Linux Mint Debian Edition 5 “Elsie” a partir de um pendrive USB

Como instalar o Linux Mint Debian Edition 5 “Elsie” a partir de um pendrive USB

Baixe e verifique a ISO arquivada do LMDE 5, crie um USB inicializável e escolha as configurações de instalação segura. O Elsie chegou ao fim de seu suporte; veja a versão atual do LMDE.

Como instalar o Wireshark no Linux: Ubuntu, Fedora, Arch e outras distribuições

Como instalar o Wireshark no Linux: Ubuntu, Fedora, Arch e outras distribuições

Instale o Wireshark no Ubuntu, Debian, Fedora, Arch ou openSUSE com os comandos de pacote atuais e, em seguida, configure a captura de pacotes em tempo real com segurança.

Como jogar Don't Starve Together no Linux

Como jogar Don't Starve Together no Linux

Instale a versão Linux de Don't Starve Together pelo Steam, crie um mundo ou junte-se a amigos seguindo estes passos de configuração e resolução de problemas.

Como jogar Squad no Linux com o Steam Proton

Como jogar Squad no Linux com o Steam Proton

Configure o Squad no Linux com o Steam Play e o Proton, instale o jogo, escolha uma ferramenta de compatibilidade e resolva problemas com o sistema anti-cheat.

Como criar uma unidade USB inicializável do Windows 11 no Linux

Como criar uma unidade USB inicializável do Windows 11 no Linux

Crie um pendrive de instalação do Windows 11 no Linux com o Ventoy: obtenha a ISO oficial, instale o Ventoy com segurança, copie a imagem e inicialize o computador de destino.

Como jogar DiRT Rally no Linux: Configuração do Steam e correções do Proton

Como jogar DiRT Rally no Linux: Configuração do Steam e correções do Proton

Aprenda a jogar DiRT Rally no Linux se você já o possui no Steam: instale a versão nativa, execute-o e use o Proton apenas como alternativa.

Como instalar o Devuan Linux a partir de um USB inicializável

Como instalar o Devuan Linux a partir de um USB inicializável

Instale o Devuan Excalibur a partir da ISO Live para desktop. Verifique o download, crie um USB inicializável, proteja as partições existentes e finalize a instalação com o Refracta Installer.

Como jogar It Takes Two no Linux com o Steam Proton

Como jogar It Takes Two no Linux com o Steam Proton

Aprenda como jogar It Takes Two no Linux com o Steam Proton, instale a versão Steam, habilite a compatibilidade, configure o modo cooperativo e solucione problemas de inicialização.

Como jogar Slay the Spire no Linux: Instale e inicie o jogo com o Steam.

Como jogar Slay the Spire no Linux: Instale e inicie o jogo com o Steam.

Instale o Steam no Linux, obtenha a versão nativa do Slay the Spire para Linux na sua Biblioteca e execute-o. Inclui instruções práticas para problemas comuns de inicialização.

Como jogar The Forest no Linux com o Steam Proton

Como jogar The Forest no Linux com o Steam Proton

Instale o Steam no Linux, habilite o Steam Play e use o Proton para baixar e executar The Forest, com uma configuração de compatibilidade específica para cada jogo, caso ele não inicie.