Содержимое рассмотренных выше конфигурационных файлов вам придется менять, если вы собираетесь предоставлять материалы групп другим серверам или получать новости у них. Для того чтобы ваш сервер работал эффективно, серверы, поставляющие вам группы новостей, должны получать у вас сообщения, отправленные вашими пользователями. Без этого сообщения ваших пользователей будут доступны только в пределах локального сервера, а пользователи Internet не получат их. Таким образом, даже в том случае, когда вы лишь получаете группы новостей с внешнего сервера, вы должны предусмотреть в конфигурационном файле возможность передачи сообщений в эти группы.
Сервер INN может управлять доступом со стороны других серверов и клиентов. Основной демон, innd
, принимает обращения от внешних серверов, предоставляющих материалы групп новостей, и от других программ, входящих в состав пакета INN. Несмотря на то что innd
также принимает обращения от клиентов, он практически сразу перенаправляет их другой программе. Поэтому в конфигурационном файле /etc/news/incoming.conf
, который управляет установлением соединений с innd
, указаны только локальный компьютер и серверы, выполняющие роль поставщиков новостей.
Атрибуты и их значения, задаваемые в файле incoming.conf
, представлены в виде
. Атрибуты могут быть объединены в записи (создаваемые с помощью ключевого слова peer
); каждая запись описывает отдельный компьютер. (Глобальные атрибуты и их значения не включаются в записи.) Записи, в свою очередь, могут объединяться в группы. Для определения границ как записи, так и группы используются фигурные скобки. Пример файла incoming.conf
для сервера, который получает материалы групп с одного сервера новостей, приведен в листинге 12.1.
Листинг 12.1. Пример файла incoming.conf
# Глобальные установки
streaming: true
max-connections: 50
# Allow NNTP posting from localhost
peer ME {
hostname: "localhost, 127.0.0.1"
}
# Разрешение на передачу групп fiveroomco.com.
peer fiveroom {
hostname : news.f iveroomco.com
patterns: *,!threeroomco.*
}
Наиболее важным является ключ hostname
. Он задет имя узла, которому разрешено устанавливать соединение с данным сервером. Чтобы определить список групп новостей, которые могут быть переданы, используется ключ patterns
; при указании имен групп используются те же соглашения, что и при формировании файла newsfeeds
. По умолчанию сервер принимает все группы новостей, предлагаемые поставщиком. Другие ключи описаны в справочной системе, на страницах, посвященных incoming.conf
.
Возможно, вы захотите осуществлять проверку пользователей на право доступа к вашему серверу. Поскольку innd
привлекает к решению этой задачи другую программу, необходимые установки выполняются в файле /etc/news/nnrp.access
. Каждая строка этого файла состоит из пяти полей, разделенных двоеточиями:
Назначение каждого поля описано ниже.
•
. В этом поле указывается имя или IP-адрес узла. В составе имени может использоваться символ *
, определяющий групповую операцию. Так, например, выражение *.threeroomco. com
описывает всех клиентов в пределах домена threeroomco. com
. При указании IP-адреса можно задавать также маску подсети в виде IP-адрес/маска подсети, например 172.20.0.0/16.
•
. В этом поле может содержаться одна или несколько следующих опций: R
(чтение сообщений разрешено), P
(передача сообщений разрешена), N
(клиент может использовать команду NEWNEWS
) и L
(клиент может передавать сообщения даже в ту группу, в которые не могут посылать статьи локальные пользователи). Последние две опции переопределяют глобальные установки для конкретного клиента.
•
. Данное поле позволяет ограничить доступ к серверу отдельных пользователей. Если в поле содержится имя, то, перед тем, как доступ будет разрешен, выполняется аутентификация этого пользователя. Символ +
указывает на то, что сервер должен предпринять попытку аутентификации с использованием базы паролей Linux. Следует заметить, что данная опция часто не работает, особенно в тех случаях, когда в системе применяется "затененный" файл паролей. Если вы оставите это и следующее поле пустыми, аутентификация осуществляться не будет.
•
. Данное поле содержит пароль, требуемый для доступа к серверу.