Верхний уровень Средства доступа к сервису связан с управлением мониторов портов и рассматривается в главе с заголовком "Управление мониторами портов" выше. Нижний уровень связан с управлением сервисом и рассматривается в этой главе.
На этом уровне есть две отчетливые управляющие функции. Первая - само управление портом как таковое. Информацию, необходимую для осуществления управления портом можно будет найти на странице руководства команды конкретного монитора порта ttymon - ttyadm (1M). Информацию необходимую для осуществления управления адресом сети, управляемом монитором порта listen, можно будет найти на странице руководства для команды конкретного монитора порта listen - nlsadmin (1M).
Вторая - управление сервисом, связанного с портом. По определению есть один и только один сервис, связанный с портом. Все порты в системе являются равными и весь их сервис управляется через один и тот же интерфейс команд, команду администратора средства доступа к сервису 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
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:
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:
4 Modify Port Service ------------------------------------------------- Service tag: Port monitor tag: Type: Port /Service state: Greate utmp: Service type: Full kommand line OR name of a STREAMS pipe: Modules to be pushed: Servers private address: Comments:
В этой главе описывается использование команд для выполнения функций управления сервисом портом.
pmadm -a -p pmtag -s svctag -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'"[-y comment]\ [-z script]
Параметр ttyadm -m можно использовать для "проталкивания" модулей STREAMS, например, модуля линейной дисциплины ldterm. Если средство 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\ -l 9600H -s /usr/bin/login -p\"tty00:\"'"
Параметр -r ttyadm со счетчиком равным нулю допускается, когда используется двунаправленный параметр ttyadm -b; следовательно, -r0 можно опустить.
Когда монитор порта находится под управлением средства доступа к сервису, ttymon может настраивать среду каждого сервиса, который запускает. Он выполняет это, интерпретируя командный файл конфигурации сервиса, если таковой существует, непосредственно перед запуском сервиса.
Файлы конфигурации инсталируются с помощью команды pmadm с параметрами -g и -z.
Формат команды удаления сервиса следующий:
pmadm -r -p pmtag -s svctag
Формат команды, разрешающей сервис, следующий:
pmadm -e -p pmtag -s svctag
Чтобы разрешить сервис конкретного порта, сначала выясните какой монитор управляет этим портом. Введите
pmadm -l -t ttymonЭта команда просматривает весь сервис, определенный для портов ttymon - типа.
Затем найдите в колонке PMSPECIFIC файл устройства, который соответствует порту, интересующему вас; например, /dev/tty00. Если монитором порта является ttymon2, а тег сервиса 23, команда
pmadm -e -p ttymon2 -s 23разрешит сервис в порту /dev/tty00.
Чтобы проверить разрешен ли порт, введите
pmadm -l -p ttymon2 -s 23"X" будет удален из колонки FLGS ранее в элементе для этого сервиса.
Команда запрещения сервиса имеет следующий формат:
pmadm -d -p pmtag -s swctagКогда сервис запрещается, следующие запросы на соединение для сервиса будут отвергнуты. Использование того же примера
pmadm -d -p ttymon2 -s 23восстанавливает "X" в поле FLGS в строке для сервиса 23.
Команда запрещения всего сервиса, управляемого монитором портов ttymon, имеет следующий формат:
sacadm -d -p pmtag
Команда
sacadm -e -p ttymon2вновь разрешает монитор портов ttymon2.
Команда pmadm имеет следующий формат:
pmadm -l [-p pmtag | -t type][ -s swctag]
Только с параметром -l команда pmadm перечисляет все сервисы для всех мониторов портов системы. Если монитор портов указан (-p), то для такого монитора будут перечислен весь сервис.
Просмотр включает устройство (например, /dev/tty00), сервис который должен быть вызван (/usr/bin/login) и подсказку (login:).
Для пульта управления и портов contty сервис не определяется под управлением любого монитора порта ttymon. Вместо него для каждого из них в файле /sbin/inittab есть элемент. Эти элементы содержат обращения к ttymon в режиме "express". ttymon express - это специальный режим ttymon, который позволяет вызывать ttymon прямо с помощью команды, которая требует сервиса login. ttymon в режиме express не управляется контроллером доступа к сервису, он не находится в управляющем файле, связанным с любым вызовом ttymon в этом режиме.
pmadm -g -p pmtag -s svctag [-z script] pmadm -g -s svctag -t type -z script
Командные файлы конфигурации сервиса - это командные файлы, написанные на интерпретируемом языке, описанном на странице руководства doconfig (3N) и в "Руководстве программиста. Сетевые интерфейсы". Они позволяют вам модифицировать среду, в которой функционирует сервис. Например, значения переменных среды могут изменяться, модули STREAMS можно указывать или можно прогонять команды.
Командные файлы конфигурации сервиса интерпретируются монитором портов до вызова сервиса.
Примечание. SAC интерпретирует как свой собственный файл конфигурации - sysconfic, так и файлы конфигурации мониторов портов. Только файлы конфигураций сервиса интерпретируются с помощью мониторов портов.
Файлы конфигураций сервиса могут распечатываться любым пользователем системы. Но только администратор системы может выполнять их инсталяцию или заменять их.
Параметр -g ипользуется для распечатки, инсталяции или замены командного файла конфигурации сервиса. Парметр -g вместе с параметрами -p и -s распечатывает командный файл конфигурации сервиса для сервиса svstag, доступный с помощью мониторов портов pmtag. Параметр -g с параметрами -p, -s и -z выполняет инсталяцию файла конфигурации сервиса, содержащегося в файле script, когда файл конфигурации сервиса для сервиса svctag доступен с помощью монитора портов pmtag. Параметр -g с параметрами -s, -t и -z выполняет инсталяцию файла script, когда файл конфигурации сервиса для сервиса svctag доступен с помощью любого монитора портов типа type. Все другие сочетания параметров с параметром -g - недействительны.
Следующий командный файл конфигурации сервиса делает две вещи: он указывает максимальный размер для файлов, создаваемых процессом, путем установки ulimit процесса 4096. Он также указывает маску защиты, накладываемую на файлы, создаваемые процессом, путем установки umask со значением 077.
В примере показан образец командного файла конфигурации сервиса.
Пример.
runwait ulimit 4096 runwait umask 077
Синтаксис команды | Описание |
---|---|
pmadm -a [-p pmtag|-t type] -s svctag -i id -m "pmspecific"\ -v ver [-f xu] [-y "comment"] [-z script] | Добавляет элемент сервиса в управляющий файл мониторов портов. |
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.
Файлы протоколирования следует периодически очищать и усекать. Если вы хотите, чтобы cron выполнила очистку, добавьте требуемую команду в файл /var/spool/cron/crontabs/root.
Назад | Содержание | Вперед