Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

4.4. Управление сервисом

4.4.1. Управление сервисом с помощью меню

4.4.2. Управление сервисом портов с помощью команд

4.4.3. Распечатка, инсталяция и замена командных файлов конфигурации сервиса
4.4.4. Справочник управления сервисом
4.4.5. Файл протоколирования

Верхний уровень Средства доступа к сервису связан с управлением мониторов портов и рассматривается в главе с заголовком "Управление мониторами портов" выше. Нижний уровень связан с управлением сервисом и рассматривается в этой главе.

На этом уровне есть две отчетливые управляющие функции. Первая - само управление портом как таковое. Информацию, необходимую для осуществления управления портом можно будет найти на странице руководства команды конкретного монитора порта ttymon - ttyadm (1M). Информацию необходимую для осуществления управления адресом сети, управляемом монитором порта listen, можно будет найти на странице руководства для команды конкретного монитора порта listen - nlsadmin (1M).

Вторая - управление сервисом, связанного с портом. По определению есть один и только один сервис, связанный с портом. Все порты в системе являются равными и весь их сервис управляется через один и тот же интерфейс команд, команду администратора средства доступа к сервису pmadm (1M). На уровне управления сервисом можно дополнять, удалять, разрешать или запрещать. Другие функции, выполняемые на этом уровне, включают инсталяцию или замену командного файла конфигурации и запрашивание информации о состоянии сервиса.

4.4.1. Управление сервисом с помощью меню

После выбора 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

4.4.1.1. Добавление сервиса портов

  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 -
этот комментарий будет выведен на экран после запроса информации о сервисе порта.

4.4.1.2. Запрещение сервиса портов

  1. Выберите disable (запретить) из меню Port Service Management.
  2. Система выводит на экран svtag, pmtag и pmtype портов, которые не запрещены. Пометьте с помощью MARK те порты. которые вы хотите запретить и нажмите RETURN.
  3. Система запрещает выбранные порты и возвращает вас в меню Port Service Management.

4.4.1.3. Разрешение сервиса портов

  1. Выберите enable (разрешить) из меню Port Service Management.
  2. Система выводит на экран svtag, pmtag и pmtype портов, которые не запрещены. Пометьте с помощью MARK те порты. которые вы хотите разрешить и нажмите RETURN.
  3. Система разрешает выбранные порты и возвращает вас в меню Port Service Management.

4.4.1.4. Просмотр сервиса портов

  1. Выберите опцию list (просмотр) из меню Port Monitor Management.
  2. Система выводит на экран меню, отображающее все мониторы портов, или список конкретного монитора порта, или список конкретного типа монитора порта.
  3. Чтобы вывести на экран монитор по тегу или типу, вам нужно пометить с помощью MARK эти элементы в списке вариантов и нажать ENTER. Чтобы вывести все мониторы, выберите опцию all (все).
  4. Система выводит на экран pmtag, pmtype, флаги, счетчик повторного запуска, состояние и команду для выбранных портов. Нажмите CANCEL, чтобы возвратиться к просмотру мониторов портов.

4.4.1.5. Модификация сервиса портов

  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:
    
  3. Система выводит на экран следующую форму, если тип монитора портов - listen:
    	          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:
    
    Service type -
    "Приемник" (listener) обеспечивает две сервисные программы. Он может или порождать сервис, или передавать описатель файла в обслуживающее устройство. Если указан сервис порождающий, то "приемник" будет вызывать сервис, указанный в командном файле. В другом случае описатель файла, созданный для установления соединения, будет передан по программному каналу, указанному в следующем поле, в обслуживающее устройство;
    modules -
    это список имен "проталкиваемых" модулей, отделенных запятыми. После "выталкивания" (popping) всех модулей уже в поток, модули "проталкиваются" в том порядке, в котором они указаны;
    Servers private address -
    это тот адрес, которым будет управлять "приемник" от имени сервиса. Приемник будет диспетчеризировать все вызовы этого адреса прямо в указанный сервис. Адрес должен быть действительным и неиспользуемым;
    Comment -
    этот комментарий будет выведен на экран после запроса информации о сервисе портов.
  4. Заполните форму и нажмите SAVE. Система модифицирует сервис и возвращает вас в предыдущее меню.

4.4.1.6. Удаление сервиса портов

  1. Выберите опцию remove (удалить) из меню Port Monitor Management.
  2. Система выводит на экран svtag, pmtag, pmtype сервиса, имеющегося в наличии. Пометьте MARK тот сервис, который вы хотите удалить и нажмите RETURN.
  3. Система удаляет помеченный сервис и возвращается в меню Port Service Management.

4.4.2. Управление сервисом портов с помощью команд

В этой главе описывается использование команд для выполнения функций управления сервисом портом.

4.4.2.1. Добавление сервиса портов с помощью команд

	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 можно опустить.

4.4.2.2. Настройка сервиса с помощью файлов конфигурации

Когда монитор порта находится под управлением средства доступа к сервису, ttymon может настраивать среду каждого сервиса, который запускает. Он выполняет это, интерпретируя командный файл конфигурации сервиса, если таковой существует, непосредственно перед запуском сервиса.

Файлы конфигурации инсталируются с помощью команды pmadm с параметрами -g и -z.

4.4.2.3. Удаление сервиса

Формат команды удаления сервиса следующий:

	pmadm -r -p pmtag -s svctag

4.4.2.4. Разрешение сервиса

Формат команды, разрешающей сервис, следующий:

	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 ранее в элементе для этого сервиса.

4.4.2.5. Запрещение сервиса

Команда запрещения сервиса имеет следующий формат:

	pmadm -d -p pmtag -s swctag

Когда сервис запрещается, следующие запросы на соединение для сервиса будут отвергнуты. Использование того же примера

	pmadm -d -p ttymon2 -s 23

восстанавливает "X" в поле FLGS в строке для сервиса 23.

4.4.2.6. Запрещение всего сервиса, управляемого монитором портов ttymon

Команда запрещения всего сервиса, управляемого монитором портов ttymon, имеет следующий формат:

	sacadm -d -p pmtag

Команда

	sacadm -e -p ttymon2

вновь разрешает монитор портов ttymon2.

4.4.2.7. Просмотр сервиса мониторов портов с помощью команд

Команда pmadm имеет следующий формат:

	pmadm -l [-p pmtag | -t type][ -s swctag]

Только с параметром -l команда pmadm перечисляет все сервисы для всех мониторов портов системы. Если монитор портов указан (-p), то для такого монитора будут перечислен весь сервис.

Просмотр включает устройство (например, /dev/tty00), сервис который должен быть вызван (/usr/bin/login) и подсказку (login:).

4.4.2.8. Управление сервисом с помощью ttymon "Express"

Для пульта управления и портов contty сервис не определяется под управлением любого монитора порта ttymon. Вместо него для каждого из них в файле /sbin/inittab есть элемент. Эти элементы содержат обращения к ttymon в режиме "express". ttymon express - это специальный режим ttymon, который позволяет вызывать ttymon прямо с помощью команды, которая требует сервиса login. ttymon в режиме express не управляется контроллером доступа к сервису, он не находится в управляющем файле, связанным с любым вызовом ttymon в этом режиме.

4.4.3. Распечатка, инсталяция и замена командных файлов конфигурации сервиса

	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

4.4.4. Справочник управления сервисом

Синтаксис команды Описание
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 из управляющего файла мониторов портов

4.4.5. Файл протоколирования

Когда один порт управляется несколькими процессами, часто возникают проблемы. Если порт (например, /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.

Назад | Содержание | Вперед