Como listar usuários no Linux

O Linux é um sistema operacional multiusuário, por isso é fácil criar várias contas de usuário. Com o tempo, é fácil perder o controle de quais contas são necessárias. A lista de contas de usuário ajuda você a gerenciá-las.

índice

  1. Conta de usuário
  2. Lista de usuários com o comando cat
  3. O comando awk
  4. O comando de corte
  5. O comando compgen
  6. UID MIN e UID MAX
  7. O comandante
  8. Poder e Simplicidade

Conta de usuário

Os avanços na tecnologia muitas vezes trazem seus próprios novos problemas. Assim que os computadores puderam suportar vários usuários, tornou-se evidente a necessidade de delimitar e encapsular o trabalho de cada pessoa do trabalho dos outros. Isso levou ao conceito de contas de usuário. Cada usuário tem uma identificação com um nome e uma senha. Essas são as credenciais que permitem que eles façam login na sua conta. Seus arquivos são armazenados em uma área privada para cada usuário.

Em um sistema ocupado, é fácil perder o controle de quais contas você criou e quais não são mais necessárias. Do ponto de vista da segurança, é uma prática ruim manter contas de usuário que você não precisa mais configurar e acessar em seu computador. Você deve remover esses usuários.

Mesmo que você não tenha outras pessoas usando seu computador, você pode ter criado algumas contas apenas para aprender como fazer ou para aprender e praticar os processos de administração.

A primeira etapa é listar as contas de usuário configuradas em seu computador. Isso permite que você os revise e tome uma decisão sobre quais podem ser excluídos. Existem vários métodos para listar usuários. Independentemente da distribuição que você está usando, essas técnicas devem funcionar para você sem a necessidade de instalar nenhum aplicativo ou utilitário.

Lista de usuários com o comando cat

Uma lista de usuários configurados, juntamente com informações sobre cada usuário, é mantida no arquivo /etc/passwd. Este é um arquivo de texto que usuários regulares podem exibir na janela do terminal. Você não precisa usar sudo para procurar no arquivo /etc/passwd.

Podemos usar o comando cat para enviar o conteúdo do arquivo /etc/passwd para a janela do terminal. Isso listará todo o conteúdo do arquivo. Isso significa que você também verá entradas de contas de usuários que pertencem a processos e ao sistema, não a pessoas.

 cat /etc/passwd

Há uma linha de informações densas relatadas para cada conta de usuário.

As informações da conta do usuário denominadas "dave" contêm esses dados, com dois pontos " : "entre eles.

  • dave : O nome da conta de usuário. Geralmente o nome da pessoa que possui a conta.
  • X : Houve um tempo em que continha a senha da conta. Hoje, as senhas são armazenadas no arquivo /etc/shadow. O "x" significa que a senha está nesse arquivo.
  • 1000 : O ID do usuário para esta conta. Todas as contas de usuário têm um ID numérico exclusivo. As contas de usuários regulares geralmente começam em 1000, com cada nova conta recebendo o próximo ID gratuito, como 1001, 1002 etc.
  • 1000 : O ID do grupo padrão ao qual o usuário pertence. Em circunstâncias normais, o grupo padrão tem o mesmo valor que o ID do usuário.
  • david,,, : Uma coleção de informações adicionais opcionais sobre o usuário. Este campo contém dados com vírgulas " , " entre eles. Eles podem conter coisas como o nome completo do usuário, seu número de escritório e seu número de telefone. A entrada da conta de usuário "mary" mostra que seu nome completo é Mary Quinn.
  • /home/david : O caminho para a pasta pessoal do usuário.
  • /trash/bash : O shell padrão para este usuário.

Se canalizarmos a saída deste comando através do utilitário wc e usarmos a opção -l (linhas), podemos contar as linhas no arquivo. Isso nos dará o número de contas configuradas neste computador.

 cat /etc/passwd | wc -l

Esse número inclui contas do sistema e usuários criados por aplicativos. Existem cerca de 400 usuários regulares configurados neste computador. Seu resultado provavelmente será muito menor.

Com tantas contas, é mais conveniente usar less para visualizar o arquivo /etc/passwd.

 menos /etc/passwd

Usar less também permite pesquisar na saída, se você quiser pesquisar uma conta de usuário específica.

O comando awk

Usando o comando awk , podemos exibir apenas o nome de usuário. Isso pode ser útil quando você está escrevendo um script que precisa fazer algo com muitas contas de usuário. Listar nomes de contas de usuários e redirecioná-los para um arquivo de texto pode economizar muito tempo. Tudo que você precisa fazer é copiar e colar o resto do comando em cada linha.

Vamos dizer ao awk para usar os dois pontos : como separador de campo e imprimir o primeiro campo. Usaremos a opção -F (separador de campo).

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

Os nomes de contas de usuários são digitados na janela do terminal sem nenhuma outra informação de conta.

O comando de corte

Podemos conseguir o mesmo tipo de coisa usando o domínio de cut . Precisamos usar o -d (delimitador) e pedir para ele selecionar apenas o primeiro campo, usando a opção -f (campos).

 corte -d: -f1

Isso lista todas as contas de usuário, incluindo contas do sistema e outras contas não humanas.

O comando compgen

O comando compgen pode ser usado com a opção -u (usuário) para listar contas de usuários. Encaminharemos a saída por meio do comando column para listar as contas de usuário em colunas, em vez de uma longa lista com um único nome de usuário por linha.

 compgen -u | coluna

Novamente, as primeiras contas de usuário listadas pertencem a processos, não a humanos.

UID MIN e UID MAX

As contas de usuário recebem uma identificação numérica, que vimos anteriormente. Normalmente, as contas de usuário normais começam em 1.000 e as contas de usuário do sistema não humano começam em 0. O ID da conta raiz é 0.

Se pudermos verificar os IDs de usuário mais baixos e mais altos possíveis, podemos usar essas informações para selecionar contas de usuários que estejam entre esses dois valores. Isso nos permite selecionar apenas as contas de usuários que pertencem a pessoas reais.

O Linux acompanha esses dois valores usando parâmetros de configuração chamados UID_MIN e UID_MAX . Eles são salvos no arquivo /etc/login.defs. Podemos ver facilmente esses valores usando grep .

vamos usar a opção -E (extended regex). Nossa string de pesquisa procura por linhas começando com "UID_MIN" ou "UID_MAX" no arquivo "/etc/login.defs". o intercalado" ^ Representa o início de uma linha.

 grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

O intervalo de IDs de usuário neste computador é de 1.000 a 60.000.

O comandante

l getent O comando lê informações dos bancos de dados do sistema. Podemos dizer a ele para listar as entradas no arquivo "/etc/passwd" usando "passwd" como parâmetro.

 getent passwd

Isso nos dá a mesma leitura que podemos obter usando cat . Mas onde getent brilha é aceitando valores conhecidos como “chaves”. Uma chave determina quais informações o getent relata. Se quisermos ver a entrada de um único usuário, podemos passar o nome da conta de usuário na linha de comando.

 getent passwd Sarah

Observe que o nome da conta de usuário diferencia maiúsculas de minúsculas.

 getent passwd sarah

Também podemos passar os limites superior e inferior dos IDs da conta de usuário que queremos ver. Para ver absolutamente todas as contas de usuários regulares, podemos usar os valores de UID_MIN e UID_MAX .

 getent passwd {1000..60000}

Isso leva algum tempo para ser executado. Eventualmente, você retornará ao prompt de comando.

O motivo do longo tempo de execução é que getent tenta encontrar correspondências para todos os valores da conta de usuário até 60.000.

Vamos ver qual é o ID de conta de usuário mais alto. Usaremos o comando cut , mas desta vez pediremos o campo três, o campo ID do usuário. Vamos canalizar a saída por meio de sort e usar a opção -g (classificação numérica geral).

 corte -d: -f3 /etc/passwd | ordenar -g 

O valor de ID mais alto para uma conta de usuário de propriedade humana é 1401.

ID de usuário 65534 mapeia para o conceito de sistema de "ninguém".

 getent passwd {65534..65534}

Portanto, sabemos que em vez de usar o valor UID_MAX de 60000, neste computador podemos usar um valor mais realista como 1500. Isso acelera muito bem as coisas. Também canalizaremos a saída por meio de cut para extrair apenas os nomes das contas de usuário.

senha getent {1000..1500} | corte -d: -f1

Os usuários aparecem na lista e somos imediatamente retornados ao prompt de comando.

Em vez de canalizar a saída através de cut , vamos canalizar a saída através de wc e contar as linhas mais uma vez. Isso nos dará o número de contas de usuário "reais".

 getent passwd {1000..1500} | wc -l

Agora podemos ver que neste computador existem definitivamente 400 contas de usuários de propriedade humana configuradas.

Poder e Simplicidade

Uma dessas técnicas certamente atenderá às suas necessidades quando você precisar verificar as contas de usuário em um computador Linux. Esses comandos devem estar presentes em todas as distribuições e nenhum deles requer acesso sudo , portanto, todos estão disponíveis para todos os usuários.

  • O melhor mouse ergonômico de 2022
  • 6 erros de posicionamento do roteador de malha a serem evitados

descubra mais conteúdo

Google Pixel Watch também tem detecção de queda, mas não até o próximo ano

As melhores xícaras de café aquecidas de 2022

Como automatizar seu iPhone com base na hora, atividade ou localização

"Isso deve ter sido antes do meu tempo"

Por que a NASA enviou Snoopy para a Lua? – Revisão Geek

O que é uma carga fantasma?

Qual comando é usado para listar usuários?

Obtenha a lista de todos os usuários usando o comando getent. O comando getent exibe as entradas do banco de dados configuradas no arquivo /etc/nsswitch.

Como descobrir quais usuários estão em um grupo no Linux?

Executando o comando groups, aparecerão os grupos aos quais o usuário atual pertence . Se executarmos grupos seguidos de um nome de usuário , veremos os grupos aos quais pertence o usuário indicado.

Quais usuários existem no Linux?

Em sistemas baseados na interface GNU/ Linux ou Unix, existem dois tipos de usuários : o administrador ou root, e os demais usuários : Usuário administrador: o usuário root tem a capacidade de realizar todo tipo de tarefas relacionadas à administração do sistema .

Qual comando do Linux mostra o número de usuários conectados?

Comando Whoami

Para isso, existe o comando whoami que lhe oferece diretamente o nome do usuário com o qual você está conectado .

Ir arriba