
Сетевые службы
Сетевые службы обсуждались в главе 8. Программа inetd представляет собой сетевой демон, который запускается в системе и прослушивает сеть от имени целого ряда процессов сервера, которые не запускаются во время загрузки системы. Демон inetd, когда принимает запрос на выполнение конкретной службы, стартует соответствующий серверный процесс. Список сетевых служб, которые предоставляются демоном inetd, содержится в файле /etc/inetd.conf. Ниже приведен пример некоторого элемента файла /etc/inetd.conf:
ftp stream tcp6 nowait root /usr/sbin/in.ftpd in.ftpd
Синтаксис данного элемента выглядит следующим образом:
Операционная система Solaris использует модель клиент-сервер, известную как RPC (Remote Procedure Call - вызов дистанционных процедур). При использовании какой-нибудь службы RPC клиент подключается к специальному серверному процессу, rpcbind, который является хорошо известной, зарегистрированной службой Internet. Процесс rpcbind регистрирует номера портов, ассоциированные с каждой службой RPC, перечисленной в файле /etc/ грс. Процесс rpcbind принимает запросы на установление соединения от всех клиентских приложений, основанных на модели RPC, и посылает клиенту номер соответствующего порта на сервере. Например, демон mountd, с которым вы познакомитесь в главе 17, описывается в файле следующим элементом:
mountd 100005 mount showmount
Демон mountd имеет программный номер 100005 и известен также под именами mount и showmount.
Для просмотра зарегистрированных программ RPC, запущенных в некоторой системе, следует воспользоваться утилитой rpcinfo с опцией -р. Например, можно проверить процессы на другой системе:
rpcinfo -р 192.168.1.21
Система отвечает списком всех зарегистрированных служб RPC, которые обнаружены выполняющимися на заданной системе. Этот листинг отображает программный номер, версию, протокол, порт и имя службы. Одна из перечисленных - служба mountd, может выглядеть следующим образом:
program vers proto port service 100005 1 udp 32784 mountd
Вы также можете использовать утилиту rpcinfo, чтобы убрать какую-нибудь RPC-программу из числа зарегистрированных. С помощью опции -d вы можете удалить регистрацию некоторой службы. Например, в локальной системе запущена программа sprayd. Чтобы отметить ее регистрацию, введите следующую командную строку:
rpcinfo -d sprayd 1
Служба sprayd остановится. В главе 9 описывалось, как послать какой-нибудь сигнал процессу. Можно перезапустить sprayd, послав демону inetd сигнал HUP (hangup - "зависание"), как показано в следующем примере:
pkill -HUP inetd
Похожие темы

