Книга: Linux-сервер своими руками
8.1.1. Настройка сервера inetd
Разделы на этой странице:
8.1.1. Настройка сервера inetd
Для начала разберемся с настройкой inetd. Этот сервер использовался в дистрибутиве RedHat до версии 7, в более новых версиях он заменен на xinetd (описание этого суперсервера приведено далее в п. 8.1.4…8.1.7). При конфигурирования inetd вам потребуется отредактировать два файла /etc/inetd.conf и /etc/services. Первый, собственно, и есть файл конфигурации суперсервера, а во втором перечислены все сетевые службы, которые доступны в вашей системе. Формат файла /etc/services следующий:
Имя_службы Порт/Протокол Псевдоним службы
Листинг 8.1. Фрагмент файла /etc/services
рор-2 109/tcp postoffice # POP version 2
pop-2 109/udp
pop-3 110/tcp # POP version 3
pop-3 110/udp
postoffice в данном случае является псевдонимом. Для некоторых служб могут потребоваться использование нескольких протоколов (как в листинге 8.1 для POP3 используется два протокола — TCP и UDP) и/или нескольких портов (см. листинг 8.2).
Листинг 8.2. Несколько портов для сервиса ftp (RedHat)
ftp-data 20/tcp
ftp 21/tcp
В других версиях ftp может потребоваться только одна запись — ftp 21/tcp. Из соображений безопасности лучше закомментировать символом # сервисы, которые вы не планируете использовать, например, если у вас роутер, то зачем вам sendmail (port 25)?
Теперь переходим к файлу /etc/inetd.conf. Каждая запись в этом файле имеет следующий формат:
Имя Тип_сокета Протокол Флаги Пользователь Путь Аргументы
где:
Имя — имя сетевой службы, которое должно быть указано в файле /etc/services.
Тип_сокета — в этом поле указывается тип сокета, то есть тип технологии доставки данных для указанной службы. Наиболее часто используются значения: stream (поток) — для протокола TCP, dgram (дейтаграмма) — для протокола UDP и raw –непосредственно для протокола IP.
Протокол — имя протокола.
Флаги — с помощью флагов указывается статус ожидания. В качестве значения этого поля указывается ключевое слово wait или nowait. Если указано wait, то суперсервер inetd будет ожидать завершения работы данной сетевой службы на данном сокете, прежде чем перейти в состояние ожидания других запросов других служб на подключение к этому сокету. То есть в данной ситуации суперсервер перестает «слушать» порт до тех пор, пока на нем не завершит работу уже запущенная сетевая служба. Значение nowait приводит к обратной ситуации: после запуска описываемой сетевой службы суперсервер продолжает прослушивать сокет в ожидании других подключений. Обычно для служб с типом сокета stream устанавливается статус ожидания nowait, а для служб с типом сокета dgram — статус ожидания wait.
Пользователь — в этом поле указывается имя пользователя, с правами которого запускается описываемая сетевая служба (соответствующий ей сервер).
Путь — в этом поле указывается полное имя сервера (включая путь к нему), который должен быть запущен для обслуживания данного соединения.
Аргументы — все оставшиеся поля воспринимаются как аргументы для запускаемого сервера.
Ниже (см. листинг 8.3) приведен пример записи в файле /etc/inetd.conf.
Листинг 8.3. Фрагмент файла/etc/inetd.conf
ftp stream top nowait root/usr/sbin/tcpd in.ftpd
где:
ftp — имя сетевой службы;
stream — задает тип сокета stream (потоковый сокет);
tcp — протокол (указан протокол tcp, так как именно этот протокол использует служба FTP в качестве протокола транспортного уровня);
nowait — суперсервер продолжает «слушать» порт после выполнения одного сервера для определенного порта;
root — сервер FTP будет запущен с правами root;
/usr/sbin/tcpd — сервер, который будет вызван для обработки соединения;
in.ftpd — аргумент, то есть программа, которую должен выполнить tcpd после проверки некоторой информации (о ней немного позже).
Еще вы можете написать и так, для прямого вызова службы ftp (ProFTP):
ftp stream tcp nowait root/usr/sbin/in.proftpd
В данном случае сразу будет вызван демон ProFTP. Запись in.proftpd является ссылкой на proftpd. Если будете использовать такой вызов ProFTP, позаботьтесь о том, чтобы proftpd имел тип inetd, а не standalone.
- 8.1. Суперсерверы inetd и xinetd
- Инсталляция и настройка сервера POP
- Запуск FTP-сервера
- 8 Конфигурирование сервера
- 8.1.2. Настройка tcpd
- 8.1.4. Установкаx inetd
- 8.1.5. Настройка xinetd
- 8.1.6. Параметры запуска xinetd
- Запуск InterBase-сервера
- Расширенная установка InterBase-сервера
- Статистика InterBase-сервера
- Минимальный состав сервера InterBase SuperServer