Linux: como detectar se um computador está sendo controlado através do console serial

StackOverflow https://stackoverflow.com/questions/1201019

  •  05-07-2019
  •  | 
  •  

Pergunta

Como eu poderia detectar programaticamente se uma máquina Linux está sendo controlada por um usuário que fez login usando um console serial? Eu estaria fazendo a verificação da Bash.

Foi útil?

Solução

o who O comando fornecerá uma lista de usuários conectados e de onde eles estão conectados.

Por exemplo:

~$ who
john    pts/1        2009-07-29 10:06 (ourcompanyvpnserver.org)
mary    tty7        2009-07-29 10:11 (:0)
frank    pts/2        2009-07-27 12:10 (att.net)
jim    pts/4        2009-07-28 14:51 (comcast.net)

A saída de quem indica "como" os usuários estão conectados. tty7 O TTY indica que Maria é registrada fisicamente por meio de um console serial. Portanto, Maria tem a capacidade de controlar o computador através do console serial.

Para determinar o que ela está fazendo, você precisaria olhar para ela.bash_history arquivo. Geralmente, isso está em /home/mary/.bash_history.

Se você deseja log de longo prazo todos os comandos que vêm em um console serial (também conhecido como teclado anexado a essa máquina), eu modificaria o driver serial do Linux para registrar toda a entrada e saída. Eu não sei o quão difícil seria isso.

Outras dicas

Try parsing finger. You can usually pick up IP/DNS addresses. Havn't ever seen a serial connection, so I couldn't say if it displays a serial connection or not.

You can use who from the command line.

If you want to check it in a local computer...

$ who >> log.txt

And checking if there's any extra line in that file, or whatever you want.

In case you mean to check if your script runs on a terminal via a serial interface, you can just execute tty and check the device name.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top