Como determinar usuários conectados ssh

2

Eu quero ver quantos usuários estão conectados a um PC para ver quem verá a mensagem quando eu fizer, por exemplo:

echo hello users! | wall
    
por aDoN 30.10.2014 / 22:45

3 respostas

8

Use o comando who . Ele lista todos os usuários que efetuaram login.

Não são apenas usuários do SSH, ele também listará os usuários no console e nos terminais conectados diretamente (se você tiver algum). Para usuários de SSH, ele mostrará de onde eles estão conectados.

    
por 30.10.2014 / 22:51
6

Você quer executar:

who -T | tr -s ' ' | cut -d ' ' -f 1-2 | sort -u

Explicação:

  • who -T mostra todos os usuários e seu status gravável ('+' - > você pode escrever para eles)
  • tr -s ' ' recolhe vários espaços na saída de who
  • cut -d ' ' -f 1-2 só recebe os dois primeiros campos (nome de usuário + status gravável)
  • sort -u classifica a lista e mostra apenas ocorrências únicas (no caso de alguém ter efetuado login várias vezes, como frequentemente é o caso do usuário do console)

Isso lhe dará algo como:

anthon +
avanderneut +
franzi -
rae +
    
por 30.10.2014 / 23:02
2
O comando

who fornecerá uma informação simples (usuário, pseudoterminal, data de início da sessão, host ip) dos usuários conectados.

user    pts/0    2014-10-30 16:00:00 (1.1.1.1)
O comando

w fornecerá informações mais detalhadas sobre os usuários.

USER     TTY      FROM     LOGIN@   IDLE   JCPU   PCPU WHAT
user     pts/0    1.1.1.1  16:17    0.00s  0.30s  0.02s sshd: user [priv]
    
por 30.10.2014 / 23:42

Tags