Необязательно указывать для каждого сервиса все атрибуты. Можно указать только необходимые:

♦ socket_type

♦ user

♦ server

♦ wait.

Атрибут protocol указывается только для RPC-сервисов, а также для всех сервисов, которые не описаны в /etc/services. Атрибут rpc_version — только для RPC-сервисов. Атрибут rpc_number указывается только для RPC-сервисов, которые не перечислены в файле /etc/rpc. Атрибут port задается только для не-RPC сервисов, которые не описаны в /etc/services.

Следующие атрибуты поддерживают все операторы присваивания:

♦ only_from

♦ no_access

♦ log_on_success

♦ log_on_failure

♦ passenv

♦ env (кроме оператора «-=»).

В секции defaults, в которой описаны атрибуты по умолчанию, обычно указываются следующие атрибуты:

♦ log_type

♦ log_on_success

♦ log_on_failure

♦ only_from

♦ no_access

♦ passenv

♦ instances

♦ disabled

♦ enabled.

<p>11.3.3. Запуск xinetd</p>

Я надеюсь, что с настройкой все более-менее понятно. Если нет, то немного ниже вы найдете пример файла /etc/xinetd.conf. Сейчас же займемся запуском только что откомпилированного и настроенного суперсервера. А запускать его можно с ключами, самые нужные из которых приведены в таблице 11.3. За списком остальных обращайтесь к man-странице.

Ключи запуска xinetd Таблица 11.3

КлючНазначение
-f файлУстанавливает альтернативный файл конфигурации, который должен использоваться вместо стандартного файла /etc/xinetd.conf
-pidfile pid_файлФайл, в который будет записан PID процесса
-stayaliveДаже если ни один сервис не прописан, демон должен выполняться («остаться в живых»)
-dрежим отладки (debug mode)
-limit числоОграничение на количество одновременно запущенных процессов

Как и любой демон, xinetd управляется сигналами:

♦ SIGHUP заставит xinetd перечитать файлы конфигурации и остановить службы, с этого момента отключенные;

♦ SIGQUIT остановит xinetd;

♦ SIGTERM остановит xinetd, остановив предварительно все запущенные им серверы;

♦ SIGUSR1 выведет дамп состояния в файл /var/run/xinetd.dump.

<p>11.3.3.1. Защита xinetd</p>

Суперсервер xinetd достаточно защищен, но его конфигурационный файл придется защитить вам самим. Естественно, нужно установить ему права доступа, разрешив только чтение в только суперпользователю:

# chmod 400 /etc/xinetd.conf

Чтобы никто не смог изменить, удалить, переименовать этот файл, установите ему атрибут «i» (только на файловой системе ext2 или ext3):

# chattr +i /etc/xinetd.conf

<p>11.3.3.2. Пример файла конфигурации /etc/xinetd</p>

Теперь, как и обещал, привожу пример файла конфигурации. В этом листинге перечислены чаще всего используемые сервисы с оптимальными атрибутами. Конечно же, вам предстоит решить, какие сервисы вы будете использовать, а какие нет. Возможно, вы также измените и их атрибуты — например, время работы того или иного сервиса.

Листинг 11.1. Фрагмент файла конфигурации /etc/xinetd

# Параметры по умолчанию для всех возможных сервисов

defaults

{

 # Число серверов, которые могут быть активны одновременно

 instances = 25

 # Параметры протоколирования

 log_type = FILE /var/log/servicelog

 log_on_success = HOST PID

 log_on_failure = HOST RECORD

 # Параметры доступа

 only_from = 111.11.111.0 111.111.112.0

 only_from = localhost 192.168.1.0/32

 # Отключенные сервисы

 disables = tftp

}

service login {

 flags = REUSE

 socket_type = stream

 protocol = tcp

 wait = no

 user = root

 server = /usr/etc/in.rlogind

 log_type = SYSLOG local4 info

}

# Сервис telnet - эмуляция терминала удаленных систем

# для интерфейса обратной петли

service telnet {

 flags = REUSE

 socket_type = stream

 wait = no

 user = root

 server = /usr/etc/in.telnetd

 bind = 127.0.0.1

 log_on_failure += USERID

}

Перейти на страницу:

Все книги серии Полное руководство

Похожие книги