comp.os.linux. Изменив порядок следования записей на обратный, вы разрешите передачу всех групп, так как более общее выражение comp.os.* переопределит более конкретное выражение !comp.os.linux.
• . В данном поле задается один или несколько флагов; эти флаги ограничивают типы сообщений, которые могут быть переданы на удаленный узел. Например, выражение < ограничивает набор передаваемых сообщений теми, размер которых меньше указанного, а выражение G указывает на то, что сообщение, направленное в несколько групп, передается только в том случае, если количество групп не превышает указанное. Описания всех флагов можно найти в справочной системе.
• . Значение этого поля зависит от типа передаваемых данных. Обычно это имя файла, который содержит информацию, предназначенную для передачи на удаленный узел. В ряде случаев параметр не указывается. В файле newsfeeds, поставляемом в составе пакета, находится много закомментированных записей, которые могут быть использованы в качестве примеров.
Файл newsfeeds управляет созданием файла, который должен быть передан другому серверу. Информация, заданная в файле /etc/news/nntpsend.ctl, определяет порядок взаимодействия INN с этим сервером. Подобно newsfeeds, файл nntpsend.ctl содержит записи, состоящие из нескольких полей, разделенных двоеточиями. Формат записи приведен ниже.
Значение в поле должно совпадать со значением, заданным в одноименном поле файла newsfeeds, а — это реальное имя узла. Поле позволяет ограничить объем данных, передаваемых в течение одного сеанса обмена; например, значение 2m ограничивает объем данных двумя мегабайтами. Последнее поле содержит необязательные параметры, которые могут передаваться программе innxmit, выполняющей реальную передачу данных. Сведения об этих параметрах можно найти в справочной системе.
Содержимое рассмотренных выше конфигурационных файлов вам придется менять, если вы собираетесь предоставлять материалы групп другим серверам или получать новости у них. Для того чтобы ваш сервер работал эффективно, серверы, поставляющие вам группы новостей, должны получать у вас сообщения, отправленные вашими пользователями. Без этого сообщения ваших пользователей будут доступны только в пределах локального сервера, а пользователи 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. Следует заметить, что данная опция часто не работает, особенно в тех случаях, когда в системе применяется 'затененный' файл паролей. Если вы оставите это и следующее поле пустыми, аутентификация осуществляться не будет.
