Linux: Как определить, что компьютер управляется через последовательную консоль

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

  •  05-07-2019
  •  | 
  •  

Вопрос

Как я могу программно определить, управляется ли машина Linux пользователем, который вошел в систему с помощью последовательной консоли? Я бы делал проверку через BASH.

Это было полезно?

Решение

Команда who предоставит вам список пользователей, вошедших в систему и откуда они вошли.

Например:

~$ 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)

Вывод информации о том, кто " как " пользователи вошли в систему. Консоль пользователя mary подключена к tty7 tty указывает, что mary вошел в систему физически через последовательную консоль. Таким образом, у Мэри есть возможность управлять компьютером через последовательную консоль.

Чтобы определить, что она делает, вам нужно взглянуть на файл her.bash_history. Обычно это в /home/mary/.bash_history.

Если вы хотите в течение долгого времени регистрировать все команды, которые поступают через последовательную консоль (то есть клавиатуру, подключенную к этой машине), я бы изменил последовательный драйвер linux для регистрации всего ввода и вывода. Я не знаю, как это будет сложно.

Другие советы

Попробуйте выполнить разбор finger . Обычно вы можете подобрать IP / DNS-адреса. Я никогда не видел последовательное соединение, поэтому я не могу сказать, отображает ли оно последовательное соединение или нет.

Вы можете использовать who из командной строки.

Если вы хотите проверить это на локальном компьютере ...

$ who >> log.txt

И проверка, есть ли в этом файле лишняя строка, или что вы хотите.

Если вы хотите проверить, работает ли ваш скрипт на терминале через последовательный интерфейс, вы можете просто выполнить tty и проверить имя устройства.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top