Como saber quem está logado no Linux com 4 comandos

Compartilhe:

Profissional executando comandos no terminal linux para descobrir que está logado no linux

Você já se perguntou quem está usando o seu servidor linux neste exato momento?

Em ambientes corporativos que tem servidores em produção com linux instalado, saber quem está logado no linux é uma informação essencial para aplicar politicas de segurança que controlam o acesso.

Mesmo que você seja iniciante e ainda está aprendendo a usar comandos linux, não se preocupe, por que será ensinado 4 comandos para descobrir quem está acessando e usando o sistema.

Mas como saber quem está logado no linux e acessando o sistema ?

Como a maioria dos servidores que usam linux no mundo não tem interface gráfica, será utilizada a Linha de Comando para ensinar de forma simples e prática como descobrir quem está logado no seu sistema linux.

São 4 comandos nativos do sistema que serão usados:

  • users
  • who
  • w
  • loginctl

Agora chega de conversa e vamos aos exemplos práticos dos comandos.

Comando users

O Primeiro comando é o users, que é simples e mostra somente os nomes das contas de usuários atualmente logados no host/servidor.

No exemplo, é executado o comando users em um sistema linux ubuntu server:

A saída do comando mostra que atualmente as contas de usuário root, analista e dlncloud estão logados no sistema.

Comando who

Outro comando que podemos usar para saber quem está acessando o linux é o who, mas diferentemente do comando users, o comando who pode exibir algumas informações adicionais sobre usuários que estão conectados no momento.

No exemplo acima, é exibido as contas de usuário root logado no terminal virtual tty1, analista logado no terminal virtual tty2 e dlncloud no terminal virtual pts/0 que se logou a partir do host que tem o enderçeo IP 192.168.0.3.

Para suprimir informações e mostrar somente a quantidade de usuários logados e saber quem são podemos usar a opção -q minúsculo do comando who.

Para exibir o cabeçalho do comando who definindo o que informa cada coluna é usada a opção -H, onde a primeira coluna “NAME” tem os nomes das contas logadas no momento:

Comando w

O comando w é semelhante ao comando who, mas além das informações sobre os usuários logados, exibe mais informações.

O cabeçalho mostra, na ordem da esquerda para direita:

  • Hora atual.
  • Há quanto tempo o sistema está em execução.
  • Quantos usuários estão conectados(logados) em terminal virtual.
  • E as médias de carga do sistema nos últimos 1, 5 e 15 minutos.

As colunas na saída do comando w são exibidas da esquerda para direita para cada usuário.

A explicação das principais:

  • USER: Nome do usuário logado.
  • TTY: Nome do tty usado pelo usuário logado.
  • FROM: A partir de onde está logado, o caractere – (hífen) significa logado localmente, quando aparece o endereço IP está acessando a partir de um host remoto.
  • WHAT: Mostra o nome do processo atual executado pela conta de usuário no momento que o comando w foi executado.

Para omitir algumas informações da saída do comando w é usada a opção -s ou --short , veja o exemplo:

Para saber mais informações sobre o comando w, consulte o manual executando:

Comando loginctl

E o último comando dessa dica para saber quem está logado no linux é o loginctl que faz parte do SystemD, esse comando loginctl é usado para controlar o gerenciador de login do SystemD e também para saber quem está logado no sistema.

Executando o comando interno list-users do loginctl é possível ver quem está logado:

Na saída é exibido quem está logado, o UID de cada conta de usuário, a sessão ativa(que está sendo usada no momento que o comando foi executado).

Para mostrar mais informações, incluindo o que a conta de usuário está executando(processos) usamos o comando interno user-status do loginctl seguido do nome da conta de usuário que deve exibir as informações:

Se o comando loginctl for executado sem nenhum comando interno a saída do comando mostra mais informações como o tty e a sessão(session) aberta pelo usuário no momento que se logou no sistema:

Para inspecionar mais informações sobre a sessão aberta para uma conta de usuário, usamos o comando interno show-session do loginctl, vamos usar a sessão com o ID 5 da conta de usuário dlncloud no exemplo abaixo:

Na saída o destaque vai para Service que é o nome do serviço usado para se autenticar no sistema, para remote que com o valor yes significa que o acesso é remoto, em RemoteHost tem a o IP do host que foi usado para se logar no sistema.

É possível encerrar sessões com o comando loginctl, mas é preciso que o comando seja executado com uma conta de usuário com permissão administrativa.

Por exemplo, para fechar a sessão com ID 9 execute o comando loginctl terminate-session seguido do número 9:

Ao executar novamente somente o comando loginctl a sessão 9 não é exibida:

Conclusão

Espero que os comandos ensinados nessa dica sejam úteis e possa auxiliar em saber quem está logado no sistema e até mesmo obter informações sobre as contas de usuários logadas.

Recomendo também lê o manual do comando loginctl que é o comando mais completo de todos que foram demonstrados aqui.

Ficou com alguma dúvida ou tem uma sugestão, então deixe seu comentário.

Navegue por tópicos:

Foto de Edson Oliveira
Edson Oliveira

Especialista em Linux, trabalhando com TI tem experiência no gerenciamento, solução de problemas e suporte de servidores linux em ambientes corporativos.

Professor de cursos voltados a linux, tecnologias open source e certificações LPI. Possui as certificações LPIC-1, LPIC-2 e LPIC-3 (Mixed Environment).

Navegue por tópicos:

Você também pode gostar:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Valorizamos sua privacidade

Utilizamos cookies para aprimorar sua experiência de navegação, exibir anúncios ou conteúdo personalizado e analisar nosso tráfego. Ao clicar no botão “Aceitar todos”, você concorda com nosso uso de cookies.

Para mais informações leia nossa Política de Privacidade.