Linux: Как определить, что компьютер управляется через последовательную консоль
Вопрос
Как я могу программно определить, управляется ли машина 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 и проверить имя устройства.