Como posso verificar se alguém está logado em uma máquina remota?

3

Dado um nome de máquina, quero verificar se alguém está logado na máquina ou não. Apenas uma resposta sim / não seria suficiente (não quero seu nome de usuário). Alguma dica sobre qual comando procurar?

Por "logado" - quero dizer, usando uma interface gráfica na máquina - o ssh não conta.

Você pode assumir que eu tenho um login ssh autorizado para esta máquina.

    
por Utkarsh Sinha 28.02.2013 / 06:42

1 resposta

11

who mostra quem está logado. Se eles estiverem em um gui, seu "terminal" é o display X ao qual eles estão anexados (caso contrário, o tty):

paul     :0           2013-02-20 11:43

Então

who | grep paul

não retornaria nada se eu não estivesse logado ou algo assim se eu estivesse.

Se você quisesse excluir conexões ssh e console, então:

who | grep -v pts | grep paul

Você pode executar este comando remotamente, adicionando ao comando ssh:

ssh user@host 'who | grep -v pts | grep paul'

Isso fará o login na máquina remota, fará o who e retornará os resultados.

    
por 28.02.2013 / 06:45

Tags