Управление портами
Управление средством доступа к сервису (SAF)
Использование средства быстрой установки терминала
Управление установкой линии терминала
Использование запасного или дистанционного пульта управления
Управление средством доступа к сервису (SAF)
После присоединения сетевого сервиса к Unix System V возникли особенные методы доступа к сервису системы, давшие непоследовательные интерфейсы и среду выполнения, затрудняющие работу пользователей.
SAF (средство доступа к сервису) обеспечивает механизм унифицированного доступа к сервису. Управляющие компоненты данного средства - это команды инсталляции, создания конфигурации и поддержки мониторов порта и сервиса, а также файлов, в которых хранится сервисная информация и информация монитора порта.
Способ управления и организации монитором порта доступа к порту зависит от конкретного монитора порта, а не отдельного компонента SAF.
Таким образом, пользователи могут расширять свои системы, разрабатывая и устанавливая свои персональные мониторы порта. В данном разделе описание конкретных мониторов порта ограничено теми программами, которые поставляются совместно с системой Unix, ttymon и "приемником".
С точки зрения SAF сервис - это процесс, который запускается. Ограничений функций, которые предоставляет сервис, не существует.
SAF состоит из управления процессом - контроллера доступа к сервису (SAC), а также двух управляющих уровней, соответствующих двум уровням в поддерживаемой структуре каталогов.
Верхний управляющий уровень соотносится с управлением монитором порта, нижний уровень - с управлением сервисом.
SAP состоит из следующих составных частей:
В данном разделе описываются SAC, управляющие файлы, а также файлы конфигурации системы, мониторе: порта и сервиса.
Контроллер доступа к сервису
Контроллер доступа к сервису (SAC) управляет механизмом обслуживания. Это процесс управления средством доступа к сервису (SAF).
SAC запускается с помощью команды init (1M) посредством входа в /sbin/inittab.
Его функция - поддерживать мониторы порта системы в состоянии, которое будет вами указано. Данные состояния включают: STARTING, ENABLED, DISABLED STOPPING, NOTRUNNING и FAILED (монитор порта вводит состояние FAILED, когда SAC не может запустить его после указанного числа попыток).
Команда администратора sacadm используется для того, чтобы сообщить SAC о необходимости изменить состояние монитора порта, sacadm также возможно использовать для добавления или удаления монитора пор из области управления SAC и просмотра информации о мониторах портов, известных SAC.
Управляющий файл SAC содержит уникальный тегд каждого монитора порта, известного SAC, и полное имя команды, которая используется для запуска каждого монитора порта.
SAC:
При инициации SAC производит настройку своей собственной среды запуска командного файла конфигурации системы. Затем он считывает свой управляющий файл, для того чтобы определить те мониторы портов, которые необходимо запустить.
Для каждого монитора порта, запуск которого он производит, SAK интерпретирует файл конфигурации этого монитора порта, если таковой существует. Наконец мониторы портов, указанные в управляющем файле (например, ttymon) запускаются. После запуска мониторов портов SAC периодически опрашивает их для получения информации о состоянии. Параметр командной строки sac (1М), -t, позволяет администратору системы управлять частотой опроса.
Когда монитор порта получает запрос о состоянии из SAC, он должен ответить сообщением, содержащим его текущее состояние (например, ENABLED).
Если SAC не получит ответа, он предполагает, что монитор порта не запущен. Если монитор порта, который должен прогоняться, остановился, SAC предполагает, что он допустил сбой и предпринимает требуемое действие восстановления. SAC повторно запустит монитор порта с отказом, если для этого монитора порта был указан ненулевой счетчик повторного запуска, когда он создавался.
SAC представляет собой административную точку управления для всех мониторов портов, (а, следовательно, для всех портов системы). Команды администратора sacadm (Ш) и pmadm (1M) передают запросы в SAC, который в свою очередь устанавливает связь с мониторами портов.
Эти запросы включают разрешение запрещенного монитора порта, и тот начинает прием запросов сервиса в свои порты, запуск мониторов портов, которые до этого были остановлены, а также просмотр текущего состояния всех мониторов порта системы.
Файл конфигурации системы
Файл конфигурации системы (/etc/saf/_sysconfig) поставляется пустым. Его может использовать администратор системы, чтобы настроить среду для всего сервиса системы, написав командный файл на интерпретированном языке.
Командный файл конфигурации системы интерпретируется контроллером доступа к сервису после запуска .SAC. SAC запускается, когда система переходит в многопользовательский режим.
Командные файлы конфигурации мониторов порта
Командные файлы конфигурации мониторов порта (/etc/saf/pmtag/_config) являются необязательными. Они позволяют администратору системы настраивать среду на любой заданный монитор порта и сервис, который есть в наличии, благодаря точкам доступа, за которые этот монитор порта несет ответственность.
Командные файлы конфигурации мониторов портов написаны на том же языке, который используется для файлов конфигурации системы.
Командный файл конфигурации мониторов портов интерпретируется, когда запускается монитор порта. Командный файл конфигурации мониторов портов может замещать значения по умолчанию, поддерживаемые командным файлом конфигурации системы.
Командные файлы конфигурации сервиса
Файлы конфигурации сервиса позволяют вам настраивать среду для конкретного сервиса. Например, сервис может потребовать каких-то специальных привилегий, которые не доступны обычному пользователю. Используя язык, doconfig (3N), вы можете написать командный файл, который предоставит или ограничит такие специальные привилегии конкретного сервиса, предложенные через конкретный монитор порта.
Файл конфигурации сервиса может игнорировать безусловные значения, поддерживаемые файлами конфигурации более высокого уровня. Например, файл конфигурации сервиса может указать множество модулей STREAMS, отличное от безусловного множества.
Управляющий файл SAC
Управляющий файл SAC содержит информацию о всех мониторах порта, за которые несет ответственность SAC. Этот файл существует в поставляемой системе.
Изначально он является пустым, за исключением одной строки комментария, которая содержит номер версии контроллера доступа к сервису. Администратор системы добавляет мониторы портов к системе, осуществляя вводы в управляющий файл SAC.
Эти вводы осуществляются с помощью команды sacadm с параметром -а. Команда sacadm также используется для удаления вводов из управляющего файла SAC.
Некоторые программные пакеты добавляют свои собственные вводы мониторов портов в ходе инсталляции, в других - вам придется добавлять их вручную.
Каждый ввод в управляющий файл SAC содержит следующую информацию:
PMTAG
Уникальный тег, который идентифицирует конкретный монитор порта. Этот тег затем используется контроллером доступа к сервису (SAC) для идентификации монитора порта при всех целях администрирования. PMTAG может включать до 14 буквенных символа.
PMTYPE
Тип монитора порта. В добавок к своему уникальному тегу, каждый монитор порта имеет указатель типа. Указатель типа идентифицирует группу мониторов портов, которые являются различными вызовами одного и того же объекта.
ttymon и listen являются примерами действительных типов мониторов портов. Указатель типа используется, для того чтобы облегчить администрирование групп соответственных мониторов портов. Без указателя типа у вас не будет возможности узнать, какие теги мониторов портов соответствуют мониторам портов того же типа. PMTYPE может включать до 14 буквенных символов.
FLGS
Флаги, которые будут определяться в текущий момент,
это:
Если флаг не указывается, предпринимается безусловное действие. Монитор порта запускается и разрешается по умолчанию.
RCNT
Количество раз, которое монитор порта может допустить сбой, прежде чем будет помещен в состояние отказа. После того как монитор порта ввел состояние отказ SAC не будет пытаться вторично его запустить.
Если счет не указан при создании ввода, это поле устанавливается на 0. Счет повторного запуска 0 свидетельствует, что монитор порта не следует вторично запускать, если он дает отказ.
COMMAND
Символьная строка, представляющая команду, котора будет запускать монитор порта. Первый компонент символьной строки, сама команда, должен представлять собой полное имя пути.
Продемонстрируем содержимое образца управляющег файла SAC так, как он просматривается с помощью команды sacadm. Символ # в конце каждой строки является ограничителем комментария.
Вывод sacadm -1
PMTAG PMTYPE FLGS RCNT STATUS
starlan listen - 0 ENABLED
ttymonl ttymon d 0 DISABLED ttymon3 ttymon - 0 ENABLED
COMMAND
/usr/lib/saf/listen slan starlan \
# starlan liatener /us r/lib/saf/ttymon " ttymonl /usr/lib/saf/ttymon
# ports board
Управляющий файл монитора порта
Каждый монитор порта имеет свой собственный управляющий файл. Команда pmadm применяется для добавления, удаления или модификации элементов в данном файле. При внесении любого изменения соответствующему монитору порта сообщается о потребности повторного считывания его управляющего файла.
Каждый элемент, вводимый в управляющий файл монитора порта определяет способ обработки монитором конкретного порта и сервис, который следует выполнять для этого порта.
Некоторые поля должны встречаться во всех типах мониторов портов. Каждый ввод должен включать тег сервиса для идентификации сервиса как уникального и значение, которое следует присвоить сервису, когда он будет запускаться.
Примечание
Комбинация тега сервиса и тега монитора порта уникально определяют случай использования сервиса. Тот же самый тег сервиса может употребляться для идентификации какого-то сервиса при другом мониторе порта.
Запись к тому же должна содержать конкретные данные монитора порта, такие как строку подсказки, которая является существенной для ttymon. В целом, каждый тип монитора порта обеспечивает какую-то команду, которая воспринимает определенные данные нужного монитора как аргументы и выводит эти данные в форме, соответствующей хранению в файле. Команда ttyadm (1M) производит это вместо ttymon, a nlsadmin (1M) - вместо listen.
Примечание
Если ПО при инсталляции добавляет требуемые вводы сервиса в управляющий файл монитора порта, вам не нужно добавлять ввод вручную pmadm с параметром -а. К примеру, при инсталляции совместного использования дистанционных файлов (RFS), пакет ПО устанавливает требуемый сервис при каждом мониторе listen-типа.
Каждый ввод в управляющий файл монитора порта включает следующую информацию:
SVCTAG
Уникальный тег, который идентифицирует сервис. Данный тег является уникальным лишь для монитора порта, через который этот сервис становится доступным.
Другие мониторы порта могут предложить тот же или другой сервис с тем же самым тегом. Сервис требует наличия и тега монитора порта, и тега сервиса для идентификации его как уникального. SVCTAG может включать до 14 буквенных символов.
FLGS
Флаги со значениями, показанными ниже, могут быть включены как текущие в это поле:
Следует обратить внимание на то, что мониторы портов могут игнорировать флаг и, если создание ввода utmp для сервиса не соответствует способу, в котором следует вызывать этот сервис.
Ряд программ сервиса не могут запускаться нужным образом, если для них не созданы вводы utmp (к примеру, login).
ID
Значение, под которым следует запускать сервис. Оно имеет ту форму имени протокола, в которой появляется в /etc/passwd.
PMSPECIFIC
Примерами конкретной информации мониторов порта будут адреса, имя процесса, который должен выполняться или имя программного канала STREAMS, через который устанавливается связь между процессами.
COMMENT
Комментарий, относящийся к элементу сервиса.
Примечание
Каждый управляющий файл монитора порта должен содержать один специальный комментарий следующей формы:
#VERSION = value
где value - это целое число, которое представляет номер версии монитора порта.
Номер версии определяет формат управляющего файла монитора порта. Данная строка комментария создается автоматически, в тот момент, когда монитор порта добавляется к системе. Он появляется на строке сам собой до появления элементов сервиса.
Ниже будут показаны строки из образца управляющего файла ttymon. Имейте в виду, что вся информация в колонке PMSPECIFIC является конкретной информацией для монитора порта ttymon. Так, например, перечень управляющего файла listen будет содержать другое множество элементов в этой колонке.
Конкретная информация монитора порта форматируется с помощью команды администратора монитора, в данном примере - командой ttyadm. Команда ttyadm включена как часть команды pmadm, когда она используется с параметром -а.
Таблица демонстрирует содержимое образца управляющего файла ttymon, просматриваемого с помощью команды pmadm. Символ # является ограничителем комментария.
РМТАG | PMTYPE | SVCTAQ | FLOS | ID | PMSPECIFIC |
ttymon3 | ttymon | 31 | ux1 | root | /dev/tarm/31--/usx/bin/login - 9600-login: #/dev/tarm/31 |
ttymon3 | ttymon | 32 | ux | root | /dev/tarm/32- /usx/bin/login - 9600-login: #/dev/tarm/32 |
ttymon3 | ttymon | 33 | ux | root | /dev/tarm/33- /usx/bin/login - 9600-login: "/dev/tarm/33 |
ttymon3 | ttymon | 34 | ux | root | /dev/tarm/34--/usx/bin/login - 9600-login: "/dev/tarm/34 |
Примечание
Для того чтобы поддержать целостность системы, настоятельно рекомендуется производить изменения в управляющих файлах SAC и мониторов портов с помощью команд sacadm и pmadm, а не редактирования файлов. SAC не распознает изменения в некоторых полях этих файлов, если они не выполнены с помощью требуемой команды администратора. Прямое редактирование файлов может привести к непредвиденным результатам.
Установка связи с RS-232 .
При подключении устройства RS-232 к вашей системе,
подсоединение должно осуществляться из вашего компьютера к этому устройству или прямо (жесткое соединение), или с помощью модема. После установки связи система должна знать какой тип соединения присутствует и какой тип устройства находится на другом конце связи.
Как правило при подсоединении RS-232 к вашему устройству предполагаются следующие подсказки:
Использование средства быстрой установки терминала
Средство "Быстрая установка терминала" является быстрым методом присоединения или удаления терминала из порта. Оно доступно через меню "Мониторы портов" или "Сервис портов" как в основных, так и в расширенных системах.
Если порт не поддерживается драйвером, основанном на STREAMS, система использует команду getty для создания конфигурации порта. Если порт поддерживается драйвером, основанном на STREAMS, система использует для порта команду ttymon.
Добавление терминала к порту
Прежде чем вы приступите к процедуре добавления, вам необходима следующая информация:
Добавление терминала с помощью меню
Данная опция может применяться при добавлении терминала для плат IPC, волоконно-оптических станций и графических рабочих станций.
1. Выберите quick_terminal из меню "Мониторы портов" и "Сервис портов".
2. Выберите add из меню "Быстрая установка терминала"
Система отобразит экран "Быстрая установка терминала":
Quick Terminal Setup
Port Number(s): /dev/tty01s
.
.
.
Speed: 9600
3. Введите правильную информацию и нажмите SAVE, чтобы сохранить информацию терминала.
Это возвратит вас к меню "Быстрая установка терминала".
Примечание
Вышеизложенный пример будет создавать конфигурацию второго последовательного порта, если его конфигурация еще не создана.
Удаление терминала из порта
Опция "Удалить терминал из порта" ("Remove a Terminal from a Port") удаляет терминал из порта. Если конфигурация порта создана с терминалом, а вы желаете еще раз присвоить его модему или какому-то другому устройству, вам не нужно применять опцию "Remove a Terminal from a Port" прежде чем переконфигурировать порт.
Примечание
Если к машине был добавлен второй последовательный порт, опция "Remove a Terminal from a Port"
освобождает прерывание второго порта. Это также приведет к необходимости преобразовать ядро системы и дать подсказку о перезагрузке.
Удаление терминала из порта с помощью меню:
1. Выберите quick_terminal из меню "Мониторы портов" и "Сервис портов".
2. Выберите remove из меню "Quick Terminal Setup" ("Быстрая установка терминала").
Система отобразит экран:
Quick Terminal Removal
Port Nuraber(s): /dev/tty01s
3. Введите правильную информацию и нажмите SAVE, чтобы удалить терминал.
Управляющая модель средства доступа к сервису (SAF) является иерархической. Максимальный уровень связан с администрированием мониторами портов. Нижний уровень связан с администрированием сервиса.
На уровне администрирования мониторами портов, мониторы портов можно добавлять, удалять, запускать, разрешать или запрещать.
К другим функциям, выполняемым на данном уровне, принадлежат запрос информации о состоянии монитора порта, замена файла конфигурации системы, инсталляция или замена файла конфигурации монитора порта и запрос о том, что монитор порта считал свой управляющий файл.
Здесь будет описываться, как управлять монитором порта. Управление можно осуществлять, применяя доступ к множеству меню System Administration (Администрирование системы), или напрямик, применяя множество команд ttymon.
Управление мониторами портов с помощью меню
После выбора ports из меню "Администрирование системы" и Port Monitor Management (Управление мониторами портов) из меню "Ports", вы получите следующие сообщения на экране:
Port Monitor Management
add disable enable list modify remove start stop |
- Add a Port Monitor - Disable a Port Monitor - Enable a Port Monitor - List Port Monitor Information - Modify a Port Monitor - Remove a Port Monitor - Start a Port Monitor - Stop a Port Monitor |
Пиведем описание каждой из этих функций.
Добавление монитора порта
Данная функция применяется администратором системы или тем пакетом, который устанавливается для создания новых экземпляров монитора порта.
Настоящее задание создает монитор порта, оно создает поддерживаемую структуру каталогов в /etc/saf и /var/saf для нового монитора порта pmtaf и управляющего файла монитора порта.
Оно к тому же включает элемент для нового монитора порта к управляющему файлу SAC.
Вас попросят заполнить нижеприведенную форму, затем чтобы включить новый монитор порта:
Add a Port Monitor
Port monitor tag:
Port monitor type:
Command to start the port monitor
Version number:
Start port monitor immediately? Yes
Start state: ENABLED Restart count:0
(Optional fields)
File name of the port monitor configuration script: Comments: Fill in the form and then press SAVE
SAC может настраивать среду всякой сервисной программы, которую он запускает, интерпретируя командный файл конфигурации сервиса при наличии такового, непосредственно перед запуском данной сервисной программы.
Также возможно настраивать среду монитора порта ttymon. Командные файлы конфигурации мониторов портов являются необязательными и устанавливаются выбором опции "configuration script" (командный файл конфигурации) при добавлении нового монитора.
Модификации среды, произведенные с помощью файла конфигурации мониторов порта, наследуются монитором порта и всеми сервисными программами, которые он вызывает.
Запрещение монитора порта
Монитор порта должен уметь ограничивать доступ к системе, не прибегая к помощи сервиса, который все еще выполняется. Для того чтобы произвести это, монитор порта должен поддерживать два внутренних состояния: enabled и disabled.
Монитор порта запускается в том состоянии, которое указывается переменной среды ISTATE, обеспечиваемой SAC.
Разрешение или запрещение монитора порта воздействует на все порты, за которые ответственен этот монитор. Если монитор отвечает лишь за один порт, влиянию будет подвергаться только этот порт. Если монитор порта отвечает за многочисленные порты, влиянию подвергнутся все эти порты.
Разрешение и запрещение - это динамическая операция: она принуждает монитор порта изменить свое внутреннее состояние. Данное действие не распространяется на новые вызовы монитора порта.
В то же время, разрешение и запрещение - это и статичная операция: она порождает изменение в управляющем файле. Действие этого преобразования распространяется и на новые вызовы монитора порта.
Данное меню предоставляет список тех мониторов портов, которые разрешаются и позволяют находить те, которые следует запретить. SAC посылает сообщение о запрещении в монитор порта.
1. Выберите disable из меню Port Monitor Management (Управление мониторами портов).
2. Система выводит на экран список мониторов портов с соответствующими им pmtag и pmtype, которые разрешены в настоящее время. Пометьте с помощью MARK порты, которые вы хотите запретить и нажмите ENTER, чтобы запретить эти порты. Вы можете нажать CANCEL, если решите этого не делать.
3. Система запрещает порты и возвращает вас к меню Port Monitor Management.
Разрешение монитора порта
Данная функция предоставляет вам список мониторов, запрещенных в текущий момент, и разрешает выбрать те, которые должны быть позволены. SAC направляет сообщение о разрешении в монитор порта.
Если монитор порта в состоянии ENABLED, это значит, что он прогоняется в настоящий момент и ждет соединения.
1. Выберите enable из меню Port Monitor Management.
2. Система выводит на экран список тех мониторов портов с соответствующими им pmtag и pmtype, которые в настоящий момент запрещены. Нажмите MARK чтобы отметить порты, которые вы хотите разрешить и нажмите ENTER, чтобы разрешить эти порты. Вы можете нажать CANCEL, если решите этого не делать.
3. Система разрешает порты и возвращает вас к меню Port Monitor Management.
Просмотр информации мониторов портов
Данное меню позволяет выбирать монитор порта и выводить на экран его информацию.
1. Выберите list из меню Port Monitor Management.
2. Система выводит на экран меню со всеми мониторами портов или список конкретного монитора порта, или список конкретного типа монитора порта.
3. Чтобы вывести на экран мониторы по тегу или типу, вам следует нажать MARK, чтобы отметить эти элементы списка вариантов и нажать ENTER. Чтобы вывести все мониторы выберите опцию all.
4. Система выводит на экран pmtag, pmtype, флаги, счет перезапуска, состояние и команду для выбранных портов. Нажмите CANCEL, чтобы вернутся к списку мониторов портов.
Модификация монитора порта
Данная функция позволяет вам выбрать один из мониторов портов. Когда вы произведете выбор, отобразится экран "add" с заполненными текущими значениями, и вам можно модифицировать любое поле в форме.
1. Выберите modify из меню Port Monitor Management.
2. Система выводит на экран теги и типы существующих мониторов портов. Переместите курсор к тому монитору порта, который вы хотите модифицировать и нажмите RETURN.
3. Система выдает форму Modify a Monitor. Заполните эту форму и нажмите SAVE, чтобы модифицировать его или нажмите CANCEL, чтобы выйти из формы. Система вновь возвратит вас к форме Modify a Monitor.
Удаление монитора порта
В этом задании отражается список мониторов портов и вам дается возможность выбрать и удалить один или несколько мониторов из списка.
Результат данной операции - удаление элемента монитора порта из управляющего файла SAC и повторное считывание SAC файла. Если удаленный монитор порта не прогоняется, никаких последующих действий не предпринимается.
Если удаленный монитор порта прогоняется, то контроллер доступа к сервису направляет ему SIGTERM, с тем чтобы указать, что он должен закончится. Заметьте, что структура каталога этого монитора порта сохраняется нетронутой, но больше к ней не ссылаются.
1. Выберите remove из меню Port Monitor Management.
2. Система выводит на экран существующие мониторы портов. Отметьте, нажав MARK те, которые вы хотите удалить и нажмите ENTER, или нажмите CANCEL, если решили не удалять монитор.
3. Система удалит помеченные порты и возвращается к меню Port Monitor Management.
Запуск монитора порта
Если вы делаете выбор не запускать монитор сразу же, вы можете запустить его, выбрав данную опцию меню, или можете применять команду sacadm.
1. Выберите start из меню Port Monitor Management.
2. Система выводит на экран список мониторов портов, ожидающих запуска. Нажав MARK, отметьте порты, которые вы хотите запустить, и нажмите ENTER, или нажмите CANCEL, если вы решили этого не делать.
3. Система запускает помеченные порты и возвращается к меню Port Monitor Management.
Остановка монитора порта
Данная функция позволяет останавливать монитор порта, который находится в действии в текущий момент.
1. Выберите stop из меню Port Monitor Management.
2. Система выводит на экран список мониторов портов, активных в текущий момент. Нажав MARK, отметьте порты, которые вы хотите остановить, и нажмите ENTER, или нажмите CANCEL, если вы решили этого не делать.
3. Система остановит работу помеченных портов и возвращается к меню Port Monitor Management.
Управление монитором порта с помощью команд shell
Монитор порта ttymon вызывается с помощью контроллера доступа к сервису (SAC). Он запускается с помощью init, когда система вводит многопользовательский режим. После этого одной из функций SAC является запуск всех тех мониторов портов, конфигурации которых вы создали.
Начиная с Unix System V, Версия 4, ttymon выполняет функции, которые в предыдущих версиях выполняли getty и uugetty.
Также как getty и uugetty, ttymon устанавливает режимы терминала и скорости линий для порта, к которому подсоединяется пользователь, обеспечивая связь с сервисом, относящимся к этому порту.
ttymon отличается от getty и uugetty по нескольким важным пунктам:
Что делает ttymon
У ttymon есть три важнейшие функции:
Каждый экземпляр ttymon имеет свой персональный управляющий файл, который указывает порты монитора и сервис, относящийся к каждому порту.
Данный файл содержит поле ttylabel, которое относится к определению скорости и TTY в файле /etc/ttydefs.
После запуска монитора порта ttymon, он инициирует все порты, обозначенные в его управляющем файле, переправляет указанные модули STREAMS в порты, устанавливает значения скорости и исходной termio (7), а также пишет подсказки в порт. Затем он ожидает ввода пользователя.
Запрос на соединение бывает благополучным, когда по крайней мере один символ, отличный от break-символа, за которым следует символ новой строки будет получен из порта.
Если сервис, который должен быть вызван, это сервис login, то символу новой строки будет предшествовать имя регистрации пользователя. Символ новой строки не будет определен, если скорость линии порта и устройства, подключенного к порту, будут совпадать.
Если на терминале будет распечатана несчитываемая подсказка, пользователь посылает BREAK, с тем чтобы указать, что скорости линий порта и устройства не совместимы. Каждое появление разъединения (break) приводит к тому, что ttymon перейдет к следующему ttylabel в /etc/ttydefs, поднастраивая свои значения termio (7) и выдавая подсказку.
При благополучном завершении выполнения запроса на соединение, ttymon интерпретирует командный файл конфигурации сервиса, если подобный существует. Затем он вызывает сервис, относящийся к порту. Данный сервис может быть любым сервисом, конфигурацию которого вы создаете. Характерным примером служит login.
Монитор ttymon не имеет взаимосвязи с портами TTY, когда они подсоединяются к сервису. После завершения выполнения сервиса в порте, ttymon возвращает порт в его исходное состояние.
Опция автонастройки скорости
Автонастройка скорости позволяет системе устанавливать скорость линии заданного порта TTY в соответствии со скоростью линии того средств", которое подключено к этому порту, без вмешательства пользователя. Всякий раз, когда добавляется сервис, управление которого осуществляется с помощью монитора ttymon, должно быть обеспечено ttylabel.
Если ttylabel указывает на элемент в файле /ete/ttydefs, который имеет А в поле автонастройки скорости, то ttymon постарается определить требуемую скорость линии прежде чем распечатать подсказку.
После получения обнаружения несущей в один из портов TTY, но до начала распечатки подсказки, ttymon выполняет следующее:
ttymon и средство доступа к сервису
Средство доступа к сервису (SAF) обеспечивает общий интерфейс, которому должны подчиняться все мониторы портов, ttymon - это монитор порта под управлением контроллера SAF - контроллера доступа к сервису.
Ниже показано как вызывается сервис, который может быть сервисом login, с помощью ttymon.
Вызов сервиса TTY
Вызовы мониторов портоа ttymon могут быть многочисленными, каждый из которых идентифицируется с помощью уникального pmtag. Каждый из этих мониторов портов могут управлять несколькими портами, получающих запросы на соединение.
Любой порт имеет один и только один сервис, связанный с ним. Каждый порт и связанный с ним сервис, идентифицируется тегом сервиса - svctag. Теги сервиса для каждого данного монитора порта уникальны.
Когда контроллер доступа к сервису запускает монитор порта, монитор порта считывает свой управляющий файл, который содержит информацию о том какими портами управлять и какой сервис (то есть процесс) связан с каждым портом.
Конфигурация ttymon по умолчанию
Некоторые мониторы портов ttymon могут устанавливаться автоматически, когда система переходит на многопользовательский уровень. Для того чтобы выяснить, была ли конфигурация системы создана автоматически, следует ввести команду
sacadm -l
после того, как система будет в многопользовательском режиме. Чтобы просмотреть список всего сервиса, доступного под управлением мониторов портов ttymon, следует ввести команду
pmadm -l -t ttymon
Модуль линейной дисциплины - Idterm - может быть и не указан в сервисе с автоматически связанной конфигурацией. Взамен этого он может быть определен в управляющем файле autopush ("автоматического проталкивания") и "проталкиваться" при помощи средства "автопроталкивания". Autopush "проталкивает" ранее отмеченные модули в требуемый STREAM каждый раз, когда устройство открыто.
Сервис не определяется для консоли и портов contty под управлением любого из мониторов ttymon. Вместо этого в файле /sbin/inittab есть строка для каждого сервиса. Данные строки содержат обращения к ttymon в режиме "express".
Команда ttyadm
Средство доступа к сервису требует, чтобы каждый тип монитора порта обеспечивал какую-то команду администратора. Данная команда должна форматировать информацию, получаемую из параметров командной строки, в таком виде, чтобы ее можно было добавлять в управляющие файлы для этого типа монитора порта.
ttyadm является командой администратора монитора ttymon. Команда ttyadm форматирует информацию на основе параметров, по которым она вызывается, и записывает данную информацию в стандартный вывод.
Примечание
Управляющий файл монитора порта обновляется с помощью команд администратора контроллера доступа к сервису sacadm и pmadm. ttyadm обеспечивает средство представления данных конкретного монитора порта (то есть ttymon - specific) этим командам. Командная строка sacadm применяет ttyadm только с параметром -V. ttyadm -V сообщает SAC номер версии применяемой команды ttymon.
ttyadm - это один из аргументов, которые pmadm использует с параметром -а, чтобы сформатировать информацию для включения в управляющий файл ttymon.
ttyadm представляет эту информацию (в виде стандартного вывода) pmadm, который помещает ее в файл.
Информация pmspecific в управляющем файле монитора порта будет разной для различных типов мониторов.
ttyadm также включается в командную строку sacadm, когда монитор порта добавляется к системе. Она применяется, чтобы обеспечить номер версии ttymon для включения его в управляющий файл монитора порта.
Просмотр информации с помощью команд
Команда sacadm имеет следующий формат:
sacadm -I [-p pmtag I -t type]
Команда sacadm лишь с параметром -l просматривает все мониторы портов, определенные для системы в текущи? момент, без заголовков.
Приведем пример ее вывода: swt 2
Пример
starlan:listen:dx:5:NOTRUNNING:/usr/lib/saf/listen
-m slan# starlan ttymon1:ttymon: :0:ENABLED
:/usr/lib/saf/ttymon # ttymon2:ttymon: :0:ENABLED :/usr/lib/saf/ttymon #
sacadm можно также применять для просмотра одного монитора порта (-р) или только мониторов портов одного и типов (-t).
Доступ к портам TTY
Для того чтобы выяснить, к каким портам имеют доступ пользователи, сначала идентифицируйте все разрешенные мониторы портов ttymon, используя команду:
sacadm -l -t ttymon
ffsacadm -l -t ttymon
PMTAG PMTYPE FLGS RCNT STATUS COMAND #
ttymonl ttymon- 0 ENABLED/usr/lib/saf/ttymon #
ttymonS ttymon d 0 DISABLED /usr/lib/saf/ttymon #
В этом списке монитор порта ttymonl - разрешен. Это означает, что он принимает сервисные запросы для всего своего сервиса, который разрешен.
Дабы определить какие сервисные программы разрешены, используйте
pmadm -l -p ttymonl
Она просматривает все сервисы TTY с созданной конфигурацией для монитора порта ttymonl.
#pmadm -l -p ttymonl
PMTAG | PMTYPE | SVCTAG | FLGS | ID | <PMSPECIFIC> |
ttymon1 | ttymon | 11 | u | root | /dev/term/11 - - /usr/bin/login - 9600 - login: - # |
ttymon1 | ttymon | 12 | ux | root | /dev/term/12 - /usr/bin/login - 9600 - login: - # |
ttymon1 | ttymon | 13 | u | root | /dev/term/13 - - /usr/bin/login - 9600 - login: - # |
ttymon1 | ttymon | 14 | ux | root | /dev/term/14 - - /usr/bin/login - 9600 - login: - # |
Разрешенный сервис - тот, который не имеет X в колонке FLGS. Порты, соответствующие этому сервису (/dev/term/П и /dev/term/13), являются доступными для пользователя.
Примечание
В версии 4.0 Unix System V команда who -I просматривает все функционирующие мониторы портов, а не порты TTY с доступом. Выполняйте процедуру, описанную выше, чтобы обнаружить порты TTY, к которым есть доступ.
Добавление монитора порта ttymon с помощью команд
Формат команды, которая добавляет монитор порта ttymon имеет следующий вид:
sacadm -a -p pmtag -t type -с cmd -v version
-n [ -f dx ] [-n count] [-y comment] [ -z script ]
Эта команда добавляет строку в управляющий файл SAC.
Командный файл конфигурации мониторов портов можно определить, используя команду с параметрами -g и -z.
Командные файлы конфигурации обычно для базовых операций не требуются.
Удаление монитора порта ttymon с помощью команд
Формат команды, удаляющей монитор порта имеет следующий вид:
sacadm -r -p pratag
Чтобы внести изменения в элемент монитора порта, всегда удаляйте элемент, а затем добавляйте новый, используя команду sacadm. He редактируйте управляющий файл SAC.
Распечатка, инсталляция и замена командных файлов конфигурации
Командные файлы конфигурации системы и мониторов портов управляются с помощью sacadm; командные файлы конфигурации сервиса управляются с помощью pmadm. Файлы конфигураций системы и мониторов портов позволяют модифицировать среду системы и среду мониторов. Они написаны на интерпретируемом языке.
Командный файл конфигурации системы _sysconfig интерпретируется после запуска SAC. Командный файл конфигурации монитора порта интерпретируется SAC непосредственно перед тем, как SAC запускает этот монитор порта.
Файлы конфигураций системы и мониторов портов может распечатать любой пользователь системы. Но только администратор системы выполнить их инсталляцию или удаление.
Командные файлы конфигурации системы
sacadm -G[ -z script]
Командный файл конфигурации системы /etc/saf/_sysconfig настраивает среду для всего сервиса системы. В тот момент, когда он запускается, контроллер доступа к сервису интерпретирует файл конфигурации системы, используя при этом библиотечную функцию doconfig.
Файл _sysconfig по умолчанию, содержащий только строку комментария, является частью поставляемой системы. Параметр -G используется для распечатки или замены командного файла конфигурации системы.
Сам параметр -G распечатывает файл конфигурации системы. В сочетании с -z параметр -G заменяет /etc/saf/_sysconfig на содержимое файла script. Другие сочетания параметров с -G являются не действительными.
Ниже покажем, как файл _sysconfig устанавливает переменную зоны времени -TZ.
Пример файла конфигурации системы:
assign TZ-EST5EDT runwait echo SAC is starting > |
# set TZ /dev/console |
Примечание
Параметр -z может также использоваться с параметром -а для указания содержимого файла конфигурации мониторов портов при создании монитора порта.
Командные файлы конфигурации мониторов портов
sacadm -g -p pmtag [-z script]
Командный,файл конфигурации мониторов портов /etc/saf/pm(ag/_config настраивает среду для сервиса, имеющегося в наличии, при помощи специальной совокупности точек доступа, за которую отвечает монитор порта pmtag.
Когда SAC запустит монитор порта, при существовании командного файла конфигурации мониторов портов он интерпретируется с помощью библиотечной функции doconfig (3N).
Параметр -g используется для распечатки, инсталляции или замены командного файла конфигурации мониторов портов. Параметр -g требует наличия параметра -р. Только с параметром -р параметр -g распечатывает командный файл конфигурации мониторов портов pmtag.
Параметр -g с параметрами\р к -z производит инсталляцию файла script, также как файл конфигурации мониторов портов для монитора порта pmtag, или, если существует /etc/saf/pmtag/_config, он меняет _config на содержимое script. Другие сочетания параметров с -g - недействительны.
Посмотрите как в гипотетическом файле _config команда /usr/bin/daemon предположительно запускает процесс daemon, который создает и сохраняет мультиплексор STREAMS.
После инсталляции этого командного файла конфигурации команда может выполняться как раз перед запуском монитора порта, которому она требуется.
Пример файла конфигурации монитора порта:
run /usr/bin/daemon
# build a STREAMS multiplexor.
runwait echo SPMTAG is starting > /dev/console
Считывание управляющих файлов
sacadm -x[-p pmtag]
В тот момент, когда изменения внесены в управляющий файл SAC, SAC необходимо уведомить об изменении. Если изменения внесены в управляющие файлы монитора порта, этот порт монитора необходимо об этом уведомить. Когда для внесения изменений используется sacadm и pmadm, уведомление происходит автоматически.
Если вы редактируете файлы прямо, SAC и мониторы портов не уведомляются, sacadm следует вызывать с параметром -х, чтобы уведомить SAC или мониторы портов об изменениях.
sacadm с параметром -х просит SAC обновить свою внутреннюю копию информации в управляющем файле SAC. sacadm с параметрами -х и -р заставляет SAC послать сообщение в указанный монитор порта.
Администраторам системы не рекомендуется редактировать эти файлы прямо.
Справочник по управлению мониторами портов
Синтаксис команд | Описание |
sacadm -a -p pmtag -t type -c"cmd" -v ver[-f dx][-n count]\ [-y"comment"][-z script] |
Добавляет элемент монитора порта в управляющий файл |
sacadm -l[-p pmtag|-t type] | Распечатывает информацию о состоянии монитора порта |
sacadi -L[-p prtagl-t type] | Распечатывает информацию о состоянии монитора порта в сжатой форме |
sacadm -G[-z cript] /etc/saf/_sysconfig |
Распечатывает или заменяет файл конфигурации системы |
sacadm -g -p pmtag[-z script]
/etc/saf/RBtag/_config |
Распечатывает или заменяет файл конфигурации мониторов портов |
sacadn -e -p prritag | Разрешает монитор порта pmtag |
sacadm -d -p pmtag | Запрещает монитор порта pmtag |
sacadn -s -p pmtag | Запускает монитор порта pirtag |
sacadm -k -p pmtag | Останавливает монитор порта pmtag |
sacadm -r -p pmtag | Удаляет элемент для монитора порта pmtag из управляющего, файла SAC |
Здесь мы рассмотрим нижний уровень "Средства доступа к сервису", который связан с управлением сервисом.
На этом уровне есть две отчетливые управляющие функции:
Есть один и только один сервис, связанный с портом. Все порты в системе являются равными и весь их сервис управляется через один и тот же интерфейс команд, команду администратора средства доступа к сервису pmadm (1M). На уровне управления сервисом можно дополнять, удалять, разрешать или запрещать. Иные функции, выполняемые на этом уровне, включают инсталляцию или замену командного файла конфигурации и запрашивание информации о состоянии сервиса.
Управление сервисом с помощью меню
После выбора ports из меню System Administration (Управление системой) и Port Service Management
(Управление сервисом портов) из меню Ports, будет получено следующее сообщение:
3 Port Service Management
add - Add a Port Service '
disable - Disable a Port Service
enable - Enable a Port Service
list - Modify a Port Service Information
modify - Modify a Port Service
remove - Remove a Port Service
Добавление сервиса портов
1. Выберите add из меню Port Service Management.
2. Вы можете или добавить сервис к конкретному порту, или добавить сервис ко всем мониторам портов конкретного типа.
Если вы выберите первое, система выведет на экран теги и типы мониторов портов, а если вы выберите последнее - система выведет на экран действительные тиш мониторов портов.
3. Переместите курсор к тому элементу, который вы хотите выбрать и нажмите PRESS.
В другом случае вы получите на экране следующую форму:
6 Add Port Services to Port Monitor
Service tag:
Service Invocation Identity:
Port/Service State;
utmp entry to be created for this service?
version number:
(optional fields)
File name of the port service confic script
comments:
Fill in the form and then press
SAVE
to continue on page 2. .
Full command line to generate port specific information on stdount:
Service tag
Это уникальный тег, который идентифицирует сервис. Тег может состоять из 14 буквенно-цифровых символов и должен быть уникальным в пределах монитора порта.
Service Invocation Identity
Это поле, представляющее значение под которым запускается сервис. Оно должно быть в такой форме имени регистрации, в которой оно появляется в /etc/passwd.
Port/Service State
Поля utmpfield и port/service state переключаются с помощью клавиши CHOICE. Их значения по умолчанию (ENABLED и Yes) устанавливаются в форму заранее. Если вы решите создать элемент utmp, то этот процесс будет показан при вводе с клавиатуры команды who.
Comment
Данный комментарий будет выведен на экран после запроса информации о сервисе порта.
Запрещение сервиса портов
1. Выберите disable (запретить) из меню Port Service Management.
2. Система выводит на экран svtag, pmtag и pmtype портов, которые не запрещены. Пометьте с помощью MARK те порты, которые вы хотите запретить и нажмите RETURN.
3. Система запрещает выбранные порты и возвращает вас в меню Port Service Management.
Разрешение сервиса портов
1. Выберите enable (разрешить) из меню Port Service Management.
2. Система выводит на экран svtag, pmtag и pmtype портов, которые не запрещены. Пометьте с помощью MARK те порты, которые вы хотите разрешить и нажмите RETURN.
3. Система разрешает выбранные порты и возвращает вас в меню Port Service Management.
Просмотр сервиса портов
1. Выберите опцию list (просмотр) из меню Port Monitor Management.
2. Система выводит на экран меню, отображающее все мониторы портов, или список конкретного монитора порта, или список конкретного типа монитора порта.
3. Чтобы вывести на экран монитор по тегу или типу, вам нужно пометить с помощью MARK эти элементы в списке вариантов и нажать ENTER. Чтобы вывести все мониторы, выберите опцию all (все).
4. Система выводит на экран pmtag, pmtype, флаги, счетчик повторного запуска, состояние и команду для выбранных портов. Нажмите CANCEL, чтобы возвратиться к просмотру мониторов портов.
Модификация сервиса портов
1. Выберите modify (модифицировать) из меню Port Monitor Management.
2. Система выведет на экран svtag, pmtag, pmtype сервиса, имеющегося в наличии. Переместите курсор к тому сервису, который вы хотите модифицировать и нажмите RETURN.
Если тип монитора - ttymon, то система выведет на экран следующую форму: ,
4 Modify Port Service
Service tag:
Port monitor tag: Type:
Port/Service state: Create utmp:
TTYlabel: Timeout:
TTY line options:
Hangup: Connect-on-Carrier:
Bidirectional: Wait-read:
Service invocation identity:
Name of TTY device;
Service command:
Prompt message:
Disabled response message:
Comments:
Система выводит на экран следующую форму, если ти монитора портов - listen:
4 Modify Port Service "
Service tag:
Port monitor tag: Type:
Port /Service state: Create utmp:
Service type:
Full kommand line OR name of a STREAMS pipe:
Modules to be pushed: Servers private address: Comments:
Service type
"Приемник" (listener) обеспечивает две сервисные программы. Он может или порождать сервис, или передавать описатель файла в обслуживающее устройство. Если указан сервис порождающий, то "приемник" будет вызывать сервис, указанный в командном файле.
В другом случае описатель файла, созданный для установления соединения, будет передан по программному каналу, указанному в следующем поле, в обслуживающее устройство.
Modules
Это список имен "проталкиваемых" модулей, отделенных запятыми. После "выталкивания" (popping) всех модулей уже в поток, модули "проталкиваются" в том порядке, в котором они указаны.
Servers private address
Это тот адрес, которым будет управлять "приемник" от имени сервиса. Приемник будет диспетчеризировать все вызовы этого адреса прямо в указанный сервис. Адрес' должен быть действительным и неиспользуемым.
Comment
Этот комментарий будет выведен на экран после запроса информации о сервисе портов.
4. Заполните форму и нажмите SAVE. Система модифицирует сервис и возвращает вас в предыдущее меню.
Удаление сервиса портов
1. Выберите опцию remove (удалить) из меню Port Monitor Management.
2. Система выводит на экран svtag, pmtag, pmtype сервиса, имеющегося в наличии. Пометьте MARK тот сервис, который вы хотите удалить и нажмите RETURN.
3. Система удаляет помеченный сервис и возвращается в меню Port Service Management.
Управление сервисом портов с помощью команд
Здесь описывается использование команд для выполнения функций управления сервисом портом.
Добавление сервиса портов с помощью команд
pmadm -a -p pmtag -s svctag -i id[-f ux] -v'ttyadm -V'\
-m'"ttyadm[-b][-r count][-c][-h]\
[-1 msg][-m modules][-p prompt][-t timeout]\
-d device -1 ttylabel -s service'"[-У comment]\
[-z script]
Параметр ttyadm -m можно использовать для "проталкивания" модулей STREAMS, к примеру, модуля линейной дисциплины Idterm. Если средство autopush "протолкнуло" модули в поток, ttymon "выталкивает" их, прежде чем "втолкнет" свои собственные.
При использовании параметра ttyadm -i, мы могли бы указать сообщение для распечатки в любой момент, когда кто-то пытается зарегистрироваться в запрещенном порту.
Нижеприводимая команда определяет сервис, который разрешает как входящие, так и выходящие вызовы. Сервис установлен под управлением монитора порта ttymon2. Параметр -b определяет порт как двунаправленный.
pmadm -a -p ttymon2 -s 21 -i root -fu -v'ttyadm -V'\
-m "" ttyadm -b -h -r0 -t 60 -d/dev/tty00\
-1 9600H -s /usr/bin/login -p\"tty00:\"'"
Параметр -г ttyadm со счетчиком равным нулю допускается, когда используется двунаправленный параметр ttyadm -b; следовательно, -r0 можно опустить.
Настройка сервиса с помощью файлов конфигурации
В тот момент, когда монитор порта находится под управлением средства доступа к сервису, ttymon может настраивать среду каждого сервиса, который запускает. Он выполняет это, интерпретируя командный файл конфигурации сервиса, если таковой существует, непосредственно перед запуском сервиса.
Файлы конфигурации инсталлируются с помощью команды pmadm с параметрами -g и -z.
Удаление сервиса
Формат команды удаления сервиса имеет следующий вид:
pmadm -r -р pmtag -s svctag
Разрешение сервиса
Формат команды, разрешающей сервис, имеет следующий вид:
pmadm -е -р pmtag -s svctag
Чтобы разрешить сервис конкретного порта, сначала выясните какой монитор управляет этим портом. Введите
pmadm -I -t ttymon
Эта команда просматривает весь сервис, определенный для портов ttymon-типа.
Затем найдите в колонке PMSPECIFIC файл устройства, который соответствует порту, интересующему вас; например, /dev/ttyOO. Если монитором порта является ttymonZ, а тег сервиса 23, команда
pmadm -e -р ttymon2 -s 23
разрешит сервис в порту /dev/ttyOO.
Чтобы проверить разрешен ли порт, необходимо ввести:
pmadm -I -p ttymon2 -s 23
"X" будет удален из колонки FLGS ранее в элементе для этого сервиса.
Запрещение сервиса
Команда запрещения сервиса имеет следующий формат:
pmadm -d -p pmtag -s swctag
Когда сервис запрещается, следующие запросы на соединение для сервиса будут отвергнуты. Использование того же примера
pmadm -d -p ttymonZ -s 23
восстанавливает "Х" в поле FLGS в строке для сервиса 23.
Запрещение всего сервиса, управляемого монитором портов ttymon
Команда запрещения всего сервиса, управляемого монитором портов ttymon, имеет следующий формат:
sacadm -d -p pmtag
Команда
sacadm -e -p ttymon2
вновь разрешает монитор портов ttymonZ.
Просмотр сервиса мониторов портов с помощью команд
Команда pmadm имеет следующий формат:
pmadm -l [-p pmtag | -t type][ -s swctag]
Только с параметром -l команда pmadm перечисляет все сервисы для всех мониторов портов системы. Если монитор портов указан (-р), то для такого монитора будут перечислен весь сервис.
Просмотр включает устройство (например, /dev/ttyOO), сервис который должен быть вызван (/usr/bin/login) и подсказку (login:).
Управление сервисом с помощью ttymon "Express"
Для пульта управления и портов contty сервис не определяется под управлением любого монитора порта ttymon.
Вместо него для каждого из них в файле /sbin/inittab есть элемент.
Данные элементы содержат обращения к ttymon в режиме "express", ttymon express - это специальный режим ttymon, который позволяет вызывать ttymon прямо с помощью команды, которая требует сервиса login.
ttymon в режиме express не управляется контроллером доступа к сервису, он не находится в управляющем файле, связанным с любым вызовом ttymon в этом режиме.
Распечатка, инсталляция и замена командных файлов конфигурации сервиса
praadm -g -p pmtag -s svctag [-z script]
pmadm -g -s svctag -t type -z script
Командные файлы конфигурации сервиса - это командные файлы, написанные на интерпретируемом языке. Они позволяют модифицировать среду, в которой функционирует сервис.
Например, значения переменных среды могут изменяться, модули STREAMS можно указывать или можно прогонять команды.
Командные файлы конфигурации сервиса интерпретируются монитором портов до вызова сервиса.
Примечание
SAC интерпретирует как свой собственный файл конфигурации - sysconfic; так и файлы конфигурации мониторов портов. Только файлы конфигураций сервиса интерпретируются с помощью мониторов портов.
Файлы конфигураций сервиса могут распечатываться любым пользователем системы. Но только администратор системы может выполнять их инсталляцию или заменять их.
Параметр -g используется для распечатки, инсталляции или замены командного файла конфигурации сервиса. Параметр -g вместе с параметрами -р и -s распечатывает командный файл конфигурации сервиса для сервиса svstag, доступный с помощью мониторов портов pmtag. Параметр -g с параметрами -р, -s и -z выполняет инсталляцию файла конфигурации сервиса, содержащегося в файле script, когда файл конфигурации сервиса для сервиса svctag доступен с помощью монитора портов pmtag.
Параметр -g с параметрами -s, -t и -z выполняет инсталляцию файла script, когда файл конфигурации сервиса для сервиса svctag доступен с помощью любого монитора портов типа type. Все другие сочетания параметров с параметром -g - недействительны.
Следующий командный файл конфигурации сервиса делает две вещи: он указывает максимальный размер для файлов, создаваемых процессом, путем установки ulimit процесса 4096. Он также указывает маску защиты, накладываемую на файлы, создаваемые процессом, путем установки umask со значением 077. Покажем образец командного файла конфигурации сервиса на примере.
Пример
runwait ulimit 4096
runwait umask 077
Справочник управления сервисом
Синтаксис команды | Описание |
pmadffl -a [-p pmtag|-t type] -s svctag "pmspecific"\ -v ver [-f xu] [-y "comment"] [-z.script] |
Добавляет элемент сервиса в -i id -m управляющий файл мониторов портов. |
pmadm -l [-t type|-p pmtag] [-s svctag] |
Распечатывает информацию о состоянии сервиса. |
pmadm -L [-t type|-p pmtag] [-s svctag] | Распечатывает информацию о состоянии сервиса в сжатом виде. |
pmadm -g -p pmtag -s svctag [-z script] | Распечатывает, выполняет инсталляцию или заменяет файл конфигурации сервиса для сервиса svctag, связанным с монитором портов pmtag. |
pmadm -g -s svctag -t type -z script | Выполняет инсталляцию или заменяет файлы конфигурации сервиса для всего сервиса svctag, связанного с мониторами портов типа type. |
pmadm -e -p pmtag -s svctag | Разрешает сервис svctag, связанного с монитором портов pmtag |
pmadm -d -p pmtag -s svctag | Запрещает сервис.svctag, связанный с монитором портов pmtag. |
pmadm -r -p pmtag -s svctag | Удаляет элемент сервиса svctag из управляющего файла мониторов портов. |
Файл протоколирования
В тот момент, когда один порт управляется несколькими процессами, часто возникают проблемы. Если порт (например, /dev/tty00) используется разрешенным сервисом под управлением монитора портов ttymon, функционирующего под управлением средства доступа к сервису, и этот порт также управляется процессом ttymon, функционирующего в режиме express ttymon, (т.е., запущен с помощью init, когда считывается inittab, а не SAC, когда считывается его административный файл), то поведение порта станет непредсказуемым.
Предполагается, что вы проверяете систему на наличие таких портов с неоднозначной конфигурацией lin. Существует также два файла протоколирования (log file), которые можно проверить на наличие ключей к решению проблем и к портам, управляемым мониторами портов ttymon: контроллер доступа к сервису протоколирует аберрантное поведение мониторов портов в /var/saf/_log; и каждый монитор портов ttymon имеет свой собственный файл протоколирования /var/saf/pmtag/log, где он регистрирует сообщения, которые получает из SAC, сервиса, который запускает и т.д.
Команда
tail -25 /var/saf/_log
просматривает самые последние 25 введенных элементов в файле _log.
Файлы протоколирования следует периодически очищать и усекать. Если вы хотите, чтобы сгоп выполнила очистку, добавьте требуемую команду в файл /var/spool/cron/crontabs/root.
Управление установкой линии терминала
Установка скорости и терминала для портов TTY определяются в управляющем файле /etc/ttydefs. Этот файл можно модифицировать с помощью команды или выбора Ports из меню System Administration.
Установка портов tty с помощью меню
При выборе tty-settings из меню Ports, система выдаст экран, дающий вам возможность добавлять, модифицировать или удалять установки tty из системы.
Добавление установки tty с помощью меню
Если вы выбираете опцию add, система выдаст вам следующую форму, которую надо заполнить (показаны значения по умолчанию):
Create TTY Line Settings and Hunt Sequences
Ttylabel:
Enable autobaud? No Baud rate: Nextlabel:
Initial line settings: hupcl erase "h
Final line settings
sane ixany hupcl tab 3 erase ~h
Fill in the form and press [SAVE]
Показанные поля флагов имеют следующие значения:
Просмотр установок tty с помощью меню
Если вы выберете опцию List Line Settings из меню установок tty, система выдаст прокручиваемый список всех последовательностей hunt. Список будет от каждой ttylabel до соответствующей ей nextlabel. Если вы выберете установку из списка, вы получите детальное описание следующего вида:
Detailed Line Settings for TTY Label <label>
Ttylabel:
Initial Flags:
Final Flags:
Autobaud:
Nextlabel:
flag meaning
По существу информация та же, что вы имеете, когда создаете установку линии, за исключением того, что указывается еще значение каждого флага.
Удаление установки линии с помощью меню
Когда вы выберите опцию Remove Line Setting, вы также получите список существующих меток и следующих меток.
Выбор метки для удаления по новому свяжет последовательность hunt.
Установка tty с помощью команды ttydefs
/etc/ttydefs - это управляющий файл, используемый ttymon. Он определяет установки скорости и терминала для портов TTY. Обратите внимание на связь между полями ttylabel и nextlabel в управляющих файлах ttymon и файлах ttydefs. Образец файла ttydefs:
"ttylabel"
Когда монитор ttymon инициирует порт, он в файле ttydefs ведет поиск элемента, который содержит установки termio (7) для этого порта. Правильный элемент тот, чья ttylabel соответствует ttylabel для этого порта, ttylabel для порта является частью информации, включенной в управляющий файл монитора ttymon. По соглашению ttylabel идентифицирует скорость передачи, но делать это не надо.
initial-flags
Содержит параметры termio (7), на которые первоначально устанавливается терминал, initial-flags должны указываться с помощью синтаксиса, распознаваемого командой stty (1).
final-flags
Содержит параметры termio (1), установленные монитором ttymon после подачи запроса на соединение и непосредственно перед вызовом сервиса порта. Конечные флаги должны указываться с помощью синтаксиса, распознаваемого stty.
autobaud
Это параметр скорости линии. Когда используется автоматическая настройка скорости передачи вместо установки скорости передачи, ttymon определяет скорость линии порта TTY, анализируя первый из введенных возвратов каретки, и в соответствии с этим устанавливает скорость. Если поле autobaud содержит символ А, то средство автоматической настройки скорости разрешается. В противном случае - автоматическая настройка запрещается.
nextlabel
Если пользователь устанавливает (послав BREAK), что текущий элемент ttydefs не обеспечивает совместимую скорость линии, ttymon будет вести поиск элемента ttydefs, чья ttylabel соответствует полю nextlabel. ttymon затем будет использовать это поле в качестве поля ttylabel.
Серия скоростей часто таким образом связывается вместе в замкнутое множество, носящее название последовательности hunt. Например, 4800 можно связать с 1200, которая в свою очередь связывается с 2400, которая наконец связывается с 4800.
Все установки termio (7), поддерживаемые командой stty, поддерживаются как параметры в файле ttydefs. Например, вы сможете указать стирание по умолчанию и символы завершения.
Установка линий tty с помощью команды sttydefs
sttydefs (1M) - это команда администратора, которая обслуживает файл ttydefs. Файл ttydefs содержит информацию об установках линий и последовательностях hunt для портов TTY системы. Команда sttydefs вместе с файлом ttydefs обеспечивает средства управления режимами терминала и установками линий. Команда sttydefs используется для:
Просмотр информации об установке линии терминала
Для просмотра информации об установке линии терминала используется команда:
/usr/sbin/sttydefs -I [ttylabel]
Если ttylabel указаны, sttydefs "распечатывает запись ttydefs, которая соответствует этой ttylabel.
Если ttylabel не указана, sttydefs распечатывает эту информацию для всех записей в файле /etc/ttydefs.
sttydefs проверяет, что каждый отображаемый ею элемент - правильный, и что поле nextlabel элемента относится к существующей ttylabel. Для каждого выявленного недействительного элемента распечатывается сообщение об ошибке.
Добавление записей в файл ttydefs
/us r/sbin/ sttydefs -a ttylabel [-b] t-n nextlabel]\
[-i initial-flags] [-f final-flags]
sttydefs с параметром -а добавляет запись в файл ttydefs. ttylabel идентифицирует запись. Далее описывается действие параметров -b, -n, -i или -f, когда они используются с параметром -а. Параметр -а является действительным только тогда, когда вызывается привилегированным пользователем.
Параметр -b разрешает автоматическую настройку скорости передачи.
Параметр -п указывает значение, используемое в поле nextlabel. Если nextlabel не указано, sttydefs будет устанавливать nextlabel на ttylabel.
Параметр -i указывает значение, используемое в поле initial-flags. Аргумент этого параметра должен быть представлен в формате, распознаваемом командой stty. Если initial-flags не указан, sttydefs будет устанавливать initial-flags на флаг termio (7) 9600.
Параметр -f указывает значение, используемое в поле final-flags. Аргумент параметра -f должен быть представлен в формате, распознаваемом командой stty. Если final-flags не указаны, sttydefs будет устанавливать final-flags на флаги структуры termio (7) 9600 и sane.
Следующая командная строка создает новую запись в ttydefs:
sttydefs -aNEW -nNEXT -i"1200 hupcl erase ^h"\
-f"1200 sane ixany hupcl erase ^h echoe"
Приводимые поля флагов имеют следующие значения:
Создание последовательности hunt с помощью команды
Нижеприводимая последовательность команд добавляет записи с метками 1200, 2400, 4800 и 9600 в файл ttydefs и помещает их в замкнутый список или последовательность hunt.
В приводимом примере поле nextlabel каждой строки является ttylabel следующей строки. Поле nextlabel для последней приводимой строки вновь указывает на первую строку в последовательности.
Целью последовательности hunt является связывание диапазона скоростей линии. Ввод BREAK в ходе поиска скорости передачи приводит к тому, что ttymon переходит к следующему элементу в последовательности.
Поиск продолжается до тех пор, пока скорость передачи не будет соответствовать скорости терминала пользователя.
sttydefs -a1200 -n2400 -i 1200 -f "1200 sane"
sttydefs -a2400 -n4800 -i 2400 -f "2400 sane"
sttydefs -a4800 -n9600 -i 4800 -f "4800 sane"
sttydefs -a9600 -n1200 -i 9600 -f "9600 sane"
Файл ttydefs, содержащий эти записи, будет выглядеть так:
# VERSION-1
1200:1200:1200: sane::2400
2400:2400:2400: sane::4800
4800:4800:4800: sane::9600
9600:9600:9600: sane::1200
Установка параметров терминала с помощью команды stty
Команду stty (1) можно использовать для установки и изменения параметров терминала после регистрации пользователя.
Командная строка stty может быть добавлена к файлу profile пользователя, чтобы можно было устанавливать параметры автоматически как часть процесса login.
Ниже приводится пример простой команды stty:
Пример
stty prO nlO echoe -tabs erase ^h
Параметры в примере имеют следующие значения:
Справочник установки ttymon и линии терминала
Синтаксис команды | Описание |
sacadm -I [-t type|-p pmtag] | Просматривает все мониторы портов (один -1), все монитору портов заданного типа (-t type) или один монитор портов (-p pmtag). |
pmadm -1 [-t type|-p pmtag][-s svctag] |
Просматривает весь сервис для всех мониторов (один -1), весь сервис для всех мониторов портов заданного типа (-t type), весь сервис конкретного монитора'(-p pmtag} или один сервис (-s svctag) |
sacadm -a -p pmtag -t ttymon -c and -v 'ttyadm -V' |
Добавляет монитор портов ttymon. ttymon, используемая с аргументами параметра -v sacadm -а или pmadm -a, дает командную строку, содержащую номер версии ttymon для управляющего файла нового монитора портов. |
sacadm -r -p pmtag | Удаляет монитор порта |
pmadm -a -p pmtag -s svotag -i id [-f ux] -v 'ttyadm -V'\ -m "'ttyadm [-b] [-r count] [-c] [-h] [-i msg]\ [-m modules] [-p prompt] [-t timeout]\ -d device -l ttylabel -s service'" |
Добавляет сервис ttyadm, используемая с аргументом параметра -m pmadm -а, дает поля pmspecific для включения в управляющий файл монитора портов |
pmadm -r -p pmtag -s svctag | Удаляет сервис Разрешает сервис |
pmadm -e -p pmtag -s svctag | Запрещает сервис svctag, доступный с помощь" монитора портов pmtag. |
pmadm -d -p pmtag -s svctag | Разрешает весь сервис, определенный для монитора pmtag. |
sacadm -e -p pmtag | Запрещает весь сервис, определенный для монитора pmtag. |
sacadm -d -p pmtag | Добавляет элемент в файл /etc/ttydefs. |
/usr/sbin/sttydefs -a ttylabel [-b] [-n nextlabel]\ [-i initial-flags] [-f final-flags] /usr/sbin/sttydefs -l [ttylabel] |
Распечатывает информацию об установке линии терминала из файла /etc/ttydefs для портов терминала с меткой ttylabel. Если ttylabel не указана, распечатывает информацию об установке линии терминала для всех записей в файле. |
/usr/sbin/sttydefs -r ttylable | Удаляет записи для ttylabel, указанной из /etc/ttydefs. |
Удаление записей из файла ttydefs
/usr/sbin/sttydefs -r ttylabel
Запись для ttylabel, указанной в командной строке, удаляется из файла ttydefs.
Параметр -r является действительным, если вызывается привилегированным пользователем.
Примечание
Если запись, которую вы удаляете, является частью последовательности замкнутого поиска (hunt), обязательно исправьте последовательность. Может оказаться кстати запуск sttydefs с параметром -I, после того как запись будет удалена sttydefs -1 будет проверят на наличие неправильных значений полей и разъединенных последовательностей hunt и распечатав сообщения об ошибках.
Использование запасного или дистанционного пульта управления
Unix SVR4.0 V1.0 поддерживает средство запасного пульта управления во втором последовательном порте (COM2, tty 01), а также средство дистанционного пульта в
первом последовательном порте (СОМ1, tty 00).
Средство запасного пульта позволяет создать конфигурацию COM2 как пульта системы, который является более экономичным вариантом, чем клавиатура/монитор. Средство дистанционного пульта позволяет управлять вашей системой из удаленной точки. AT&T рекомендует использовать терминал AT&T Model 605 как для запасного, так и для дистанционного пультов.
Запасной пульт управления
Если вам не нужны графические средства пульта системы клавиатура/монитор, экономичнее использовать в качестве пульта управления системы последовательный порт. Если ваша система не оборудована клавиатурой/монитором (не имеет платы видеодисплея), второй последовательный порт (COM2) будет автоматически конфигурироваться, когда пульт системы и скорость передачи будут устанавливаться на 9600 при начальной загрузке системы.
Если вы хотите создать конфигурацию COM2 вручную, даже если в наличии есть пульт управления системы клавиатура/монитор, используйте следующие этапы создания:
1. Введите команду /etc/conf/bin/idtune COM2CONS 1 command.
Значение настраиваемого параметра COM2CONS определяет, что конфигурируется в качестве пульта управления системы - порт COM2 (COM2CONS = 1) или порт клавиатура/монитор (COM2CONS = 0).
2. Введите команду/etc/conf/bin/idbuild, чтобы перестроить /unix.
3. Введите команду /etc/configs -a 1 -b baud, где baud равен 1200 (модем или дистанционный терминал) или 9600 (локальный терминал).
Данная команда трассирует диагностику и сообщения о самозагрузке в COM2 и позволяет управлять самозагрузкой из COM2.
4. Перезагрузите систему.
Системная диагностика и процессы самозагрузки теперь используют второй последовательный порт, а система Unix считает его пультом управления системы.
Терминал AT&T Model 605 Должен быть в режиме PC (xt), чтобы управлять диагностикой, а чтобы установить связь с системой Unix и управлять самозагрузкой - в нормальном режиме.
Если вы хотите выбрать в качестве пульта управления системы клавиатуру/монитор, сначала убедитесь, что выполнена инсталляция платы видеодисплея, затем установите COM2CONS на 0, перестройте /unix, запретите ввод/вывод в COM2 и выполните перезагрузку. Нижеприводимые этапы детально описывают эту процедуру:
1. Введите команду /etc/conf/bin/idtune COM2CONS 0.
И вновь настраиваемый параметр COM2CONS определяет что будет конфигурироваться в качестве пульта системы - порт COM2 (COM2CONS = 1) или порт клавиатуры/монитора (COM2CONS = 0).
2. Введите команду /etc/conf/bin/idbuild, чтобы перестроить /unix.
3. Введите команду /etc/conflgs -а -0, чтобы запретить ввод/вывод в COM2.
4. Перезагрузите систему.
Ваш пульт клавиатура/монитор можно установить в качестве прикладного терминала, когда COM2 конфигурируется как пульт системы Unix, если осуществить следующие этапы:
1. Добавьте следующую строку в конец файла /etc/inittab и файла /etc/conf/cf. d/init. base.
vt: 12345:respawn:/etc/vtgetty vt00 vtoo
2. Введите init q, чтобы запустить процесс getty.
В системе Unix, клавиатура/монитор (используемый в качестве прикладного терминала) не будет получать сообщения системы Unix и не будет иметь каких-либо других средств, кроме другого прикладного терминала, подсоединенного к порту общего назначения.
Примечание
Клавиатура/монитор точно также имеет средства пульта управления вне системы Unix - в ходе диагностики, установки и самозагрузки.
Дистанционный пульт управления
Если вы выбираете возможность управления своей системой из удаленной точки, создавая конфигурацию первого последовательного порта (СОМ1 или /dev/ttyOO) и получая свойства пульта управления:
1. Введите /etc/conflgs -r 1 -b baud, где baud раве 1200 (если используется модем) или 9600 (если модем не используется).
Эта команда трассирует диагностические сообщения сообщения о самозагрузке/ввод в COM2 и разрешает средство дистанционного пульта управления.
2. Введите команду/etc/conf/bin/idtune RCMF 1, чтобы установить настраиваемый параметр RCMF на 1 (посылает сообщения пульта в порт дистанционного пульта, который является первым последовательным портом).
3. Выполните команду /etc/conf/bin/idbui/d.
4. Измените каталоги в / и выполните /etc/shutdown.
Терминал AT&T Model 605 должен быть в режиме PC (xt), чтобы управлять диагностикой, и в нормальном режиме, чтобы устанавливать связь с системой Unix и управлять самозагрузкой.