И фильтра tcpd
Супердемон inetd открывает порты, перечисленные в файле его конфигура- ции /etc/inetd.conf. В этом же файле указывают серверные программы, управ- ление которым передает супердемон для реального обслуживания соедине- ний. Фрагмент файла конфигурации супердемона inetd — /etc/inetd.conf приведен в примере 21.4.
Пример 21.4. Файл конфигурации inetd |
#Service Socket Protocol Flags User Path Args
telnet | stream | tcp | nowait | root | /usr/sbin/tcpd | in.telnetd |
#shell | stream | tcp | nowait | root | /usr/sbin/tcpd | in.rshd |
#login | stream | tcp | nowait | root | /usr/sbin/tcpd | in.rlogind |
#exec | stream | tcp | nowait | root | /usr/sbin/tcpd | in.rexecd |
Каждой службе, запускаемой с помощью супердемона inetd, соответствует одна строка в файле /etc/inetd.conf. В каждой строке конфигурации имеется семь полей:
r Service — имя службы в соответствии с определениями в файле
/etc/services;
r Socket — тип сокета: stream для TCP и dgram — UDP;
r Protocol — тип транспортного протокола может быть tcp, udp и raw;
r Flags — определяет поведение только сокетов типа dgram. Для них в дан- ном поле могут находиться значения либо wait, либо nowait. Для всех ос- тальных типов сокетов необходимо использовать только nowait. В случае
если dgram-сервер должен освобождать сокет сразу же после завершения обслуживания, то тогда необходимо использовать значение nowait. Такой сервер является многопоточным (multi-treated). В противном случае необ- ходимо использовать однопоточный сервер (single-treated), для чего нужно использовать значение wait;
r User — определяет UID процесса сервера, обслуживающего данное со- единение;
r Path — путь к исполняемому файлу сервера. В Linux запуск серверов все- гда производится посредством фильтра tcpd (TCP Wrapper);
r Args — командные опции и аргументы, передаваемые серверу tcpd.
Так, строка конфигурации, приведенная в примере 21.4, настраивает супер- демон inted для запуска посредством фильтра tcpd сервера telnet, имеюще- го исполняемый файл in.telnetd. При этом соединение будет осуществляться с помощью транспортного протокола TCP, поэтому тип сокета — stream.
Обычно в файле конфигурации /etc/inetd.conf имеются заранее настроенные закомментированные строки настройки сервисов. Для того чтобы суперде- мон inetd стал прослушивать новый порт, достаточно найти соответствую- щую ему строку в файле /etc/inetd.conf, раскомментировать ее и послать про- цессу супердемона сигнал SIGHUP для того, чтобы он перечитал файл конфигурации (пример 21.5).
Пример 21.5. Передача сигнала SIGHUP супердемону |
# pkill -1 inetd
Напротив, если необходимо исключить прослушивание некоторой службы супердемоном inetd, следует закомментировать символом "решетка" (#) со- ответствующую строку в /etc/inetd.conf и также послать сигнал SIGHUP про- цессу супердемона.
Дата добавления: 2015-06-12; просмотров: 707;