Книга: Сетевые средства Linux
Формат файла /etc/inetd.conf
Формат файла /etc/inetd.conf
Для настройки inetd
используется конфигурационный файл /etc/inetd.conf
. Если не принимать во внимание комментарии (строки, начинающиеся с символа #
), то можно сказать, что содержимое файла inetd.conf
представляет собой набор строк, каждая из которых определяет отдельный сервер. Пример записи, содержащейся в файле /etc/inetd.conf
приведен ниже.
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
Каждая строка файла состоит из нескольких полей, которые отделяются друг от друга с помощью пробелов или символов табуляции.
• Имя сервера. Первое поле в строке идентифицирует протокол, используемый сервером. Имя протокола должно соответствовать имени, указанному в файле /etc/services
. Например, обратившись к этому файлу, можно выяснить, что имени telnet
соответствует значение 23/tcp
, т.е. сервер, поддерживающий протокол telnet
, должен использовать для взаимодействия порт 23. Для того чтобы программа inetd
могла управлять сервером, для этого сервера должна существовать запись в файле /etc/services
. Очевидно, что, планируя запуск редко встречающегося сервера посредством inetd
, надо позаботиться о том, чтобы соответствующая запись была включена в этот файл. Подавляющее большинство серверов изначально учтено в /etc/services
.
• Тип гнезда. Второе поле указывает тип гнезда, используемого при поддержке протокола. Допустимы типы stream
, dgram
, raw
, rdm
и seqpacket
.
• Тип протокола. Третье поле указывает тип протокола. В данном случае речь идет о нижележащем протоколе транспортного уровня, например TCP или UDP. Допустимые протоколы указаны в /etc/protocols
, однако в подавляющем большинстве случаев в этом поле указывается значение tcp
или udp.
• wait
/nowait
. Четвертое поле записи содержит одно из двух значений: wait
или nowait
. Значение wait
имеет смысл только для дейтаграмм (тип гнезда dgram
). В остальных случаях предполагается значение nowait
. Большинство серверов, поддерживающих обмен с помощью дейтаграмм, связываются с гнездом и освобождают inetd
для обслуживания последующих обращений. Эти серверы называются многопотоковыми (multi-threaded); для них в рассматриваемом здесь поле должно содержаться значение nowait
. Серверы, которые связываются с гнездом, обрабатывают все данные, а затем по истечении времени тайм-аута завершают работу, называются однопотоковыми (single-threaded); для них в данном поле должно содержаться значение wait
. В этом поле можно также задать числовое значение, отделив его от ключевого слова wait
точкой, например wait.60
. Число указывает максимальное количество серверов данного типа, которые inetd
может загрузить в течение одной минуты. По умолчанию принимается значение, равное 40.
• Имя пользователя. Программа inetd
может запустить сервер с привилегиями указанного пользователя. Это позволяет существенно повысить уровень безопасности системы. Ограничив права сервера необходимым минимумом, вы сокращаете возможности злоумышленников по незаконному проникновению в систему. Так, например, серверу Apache не требуются никакие специальные привилегии, поэтому его можно запускать с правами пользователя nobody
либо определить права Apache, создав для него отдельную учетную запись. В приведенном выше примере указано имя root
, так как привилегии этого пользователя необходимы для выполнения процедуры регистрации, которая осуществляется в начале Telnet-сеанса. Если к имени пользователя вы добавите имя группы, разделив эти имена точкой, сервер получит привилегии группы. Например, значение nobody.nogroup
указывает на то, что сервер должен быть запущен с правами пользователя nobody
и группы nogroup
.
• Программа-сервер. Шестое поле содержит имя программы-сервера, которую должен запустить inetd
, приняв запрос. В приведенном примере указано имя программы /usr/sbin/tcpd
. В действительности tcpd
— это не сервер, а программа, реализующая TCP Wrappers (назначение TCP Wrappers будет рассмотрено ниже). В большинстве дистрибутивных пакетов, в которых используется inetd
, также применяется TCP Wrappers, т.е. серверы, поддерживаемые inetd
, запускаются через tcpd
. Для некоторых серверов TCP Wrappers можно не использовать, но в большинстве случаев применение данного средства оправдано.
• Параметры, передаваемые серверу. Это поле может отсутствовать. Если же оно задано, то содержит параметры, которые должны быть переданы программе-серверу. Эти параметры могут изменять поведение сервера, указывать расположение конфигурационных файлов и предоставлять другие сведения. Если сервер запускается посредством TCP Wrappers, параметр задает имя этого сервера; в приведенном выше примере указан параметр in.telnetd
. (При необходимости к имени сервера можно добавить параметры, предназначенные для него.)
Для редактирования /etc/inetd.conf
можно использовать любой текстовый редактор. При подготовке содержимого файла следите за тем, чтобы поля записи помещались в одной строке. (Если в составе записи присутствуют длинные имена файлов или если серверу передается большое число параметров, редактор может автоматически перенести часть записи на другую строку. В этом случае при работе inetd
возникнут проблемы.) Если вы хотите добавить новую запись для установленного вами сервера, изучите документацию на этот сервер и выясните, как должна выглядеть соответствующая запись inetd.conf
. Часто бывает удобно создавать новые записи на основе существующих. При этом надо внимательно следить за тем, чтобы тип гнезда, тип протокола, параметры, передаваемые серверу, и другие сведения были заданы правильно, в противном случае сервер не будет работать.
Большинство дистрибутивных пакетов, в которых используется inetd
, содержит файл /etc/inetd.conf
, настроенный для поддержки наиболее распространенных серверов. Многие записи закомментированы. Для того чтобы сервер был активным, достаточно убрать символ комментариев из строки (очевидно, что это можно сделать только в том случае, если сервер установлен в системе). Для некоторых служб в составе inetd.conf
присутствует несколько записей, например, в этот файл может быть включено несколько строк, описывающих различные FTP-серверы (ProFTPd и WU-FTPD). Вам, как администратору системы, необходимо проследить за тем, чтобы все такие записи, кроме одной, были закомментированы.
Совет
Инсталлировав систему Linux, вам надо внимательно просмотреть содержимое файла /etc/inetd.conf
(или конфигурационного файла xinetd
, который будет рассматриваться ниже) и закомментировать записи для тех серверов, которые не нужны в системе. Многие администраторы включают символы комментариев в начало тех записей, назначение которых им не понятно. Такие действия вполне допустимы, потому что ни один сервер, указанный в inetd.conf
, не является необходимым компонентом системы; лишь некоторые из них могут потребоваться для регистрации пользователей по сети. Отключение лишних серверов повышает безопасность системы, так как сужает поле деятельности злоумышленников, пытающихся получить доступ в вашу систему из Internet. Использовать подобный подход для служб, загружаемых с помощью сценариев SysV, нельзя, поскольку многие из них жизненно важны для нормальной работы системы Linux.
- Выбор правильного формата для вашего видео на YouTube
- Какую файловую систему выбрать при форматировании дисков?
- Можно ли сравнить два файла?
- Какая программа позволяет создавать документы формата PDF?
- Как склеить два MP3-файла?
- Как вырезать звуковую дорожку из AVI-файла?
- Понятие формата файла
- Формат файла
- Формат файла протокола Apache
- Разработка записной книжки в формате текстового файла
- Пример 9-11. Преобразование графических файлов из одного формата в другой, с изменением имени файла
- 2.9.2. Сведения о файлах данных Outlook (в форматах PST и OST)