Если кто-то входит в последовательный порт и выходит из консоли, не выходя из системы, как мне автоматически выйти из системы?

Поскольку содержимое второго поля различается в Amazon Linux AMI (и, предположительно, в других дистрибутивах на базе CentOS -)и passwd (1)не документирует его, я пойти источник -дайвинг. Состояние отображается с помощью pwdb_display_statusв libuser.c,и имеет шесть полей:

  • realnameимя пользователя (, даже если установлен комментарий GECOS)
  • statusодин из следующих :
    • NPпустой пароль (хэш пароля представляет собой строку нулевой -длины)
    • LKпароль заблокирован (пароль начинается с ! или *x, если используется другая схема аутентификации)
    • PSустановлен пароль
  • dateдата последней смены паролей
  • sp_minминимальное время жизни пароля в днях до может быть изменено
  • sp_maxмаксимальное время жизни пароля в днях перед этим необходимо изменить
  • sp_warnколичество дней до истечения срока действия пароля, когда пользователь начнет получать предупреждения
  • sp_inactколичество дней после истечения срока действия пароля, когда пользователь отключен (-1, чтобы отключить это)
  • msgчеловеческое -удобочитаемое описание статуса

0
30.01.2020, 11:15
1 ответ

Вы скоро узнаете то, чему в прошлые десятилетия пришлось научиться многим людям, иногда на собственном горьком опыте.:Выключение локального терминала не приводит к его выходу из системы.

Последовательные терминалы в мире операционных систем Unices и Linux бывают двух видов: :входящие -и локальные. Набор -в последовательных терминалах помечен как dialinв таблице /etc/ttysна BSD, например. Локальные последовательные клеммы не имеют маркировки. (Операционные системы Linux имеют таблицу /etc/ttys, но могут сильно различаться в зависимости от того, соблюдают ли ее приложения.Пометка терминала как входящий -или локальный несколько сложнее, менее стандартизирована и зависит от того, какое программное обеспечение выбрано для запуска.)

Набор -в терминале имеет модемы и еще что-то между ним и хостом. Модемы имеют дело с последовательными линиями управления, такими как обнаружение несущей и готовность терминала данных. Отключение на удаленном конце приводит к сбросу сигнала обнаружения несущей, что для набора -в терминале приводит к тому, что линейная дисциплина отправляет сигналHUP(отбоя )процессу лидера сеанса сеанса входа в систему, который, в свою очередь, ручки, отражающие его всем своим дочерним элементам. Наберите -в терминалах с флагом -clocal(для использования терминологии stty)в своих линейных дисциплинах.

Локальный терминал напрямую подключен к хосту. Локальные терминалы имеют флаг clocalв своих линейных дисциплинах. Нет несущей для обнаружения, и выключение терминала не приравнивается к зависанию телефонного звонка.

Ваш SLC8000 — это просто прославленный последовательный терминал с точки зрения хоста. Он ведет себя как локальный терминал, если только он не помечен как dialinна хосте. Подключение и отключение от разных портов устройств не сигнализирует хостам на этих портах. Отметьте его как dialinна хосте, и вашей следующей проблемой будет настройка вашего SLC8000 для подачи сигнала хосту при отключении с обнаружением несущей, как это сделал бы модем, чтобы хост знал, что нужно выполнить отключение терминала во время сеанса входа в систему. Краткий обзор руководства пользователя SLC8000 показывает, что это может быть даже невозможно. На его последовательных разъемах нет отдельного контакта для компакт-дисков.

Что приводит к совету, который вы можете найти в более чем четырех десятилетиях книг по безопасности для многопользовательских -операционных систем с терминалами, от Unix до VMS.:Всегда выходите из системы, покидая терминал.

0
28.04.2021, 23:25

Теги

Похожие вопросы