Читаем Сетевые средства Linux полностью

Содержимое рассмотренных выше конфигурационных файлов вам придется менять, если вы собираетесь предоставлять материалы групп другим серверам или получать новости у них. Для того чтобы ваш сервер работал эффективно, серверы, поставляющие вам группы новостей, должны получать у вас сообщения, отправленные вашими пользователями. Без этого сообщения ваших пользователей будут доступны только в пределах локального сервера, а пользователи 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. Следует заметить, что данная опция часто не работает, особенно в тех случаях, когда в системе применяется "затененный" файл паролей. Если вы оставите это и следующее поле пустыми, аутентификация осуществляться не будет.

• пароль. Данное поле содержит пароль, требуемый для доступа к серверу.

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

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