Чтение онлайн

ЖАНРЫ

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Файл

newsgroups
используется сервером реже, чем файл
active
. Как и в файле active, первым полем каждой записи newsgroups является имя группы. После имени группы расположен один или несколько символов табуляции, за которым следует описание группы. Клиенты получают сведения из этого файла, чтобы предоставить пользователям информацию о группах.

Управление доступом

Чтобы предотвратить незаконные действия с материалами групп и сэкономить ресурсы, многие администраторы ограничивают доступ к серверам новостей. Рассматривая вопросы ограничения доступа, следует принять во внимание три задачи, выполняемые сервером: предоставление материалов групп другим серверам, получение материалов с других серверов и организация взаимодействия с клиентом. Первые две задачи необходимо учитывать лишь тогда, когда ваш сервер обменивается новостями

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

Предоставление материалов групп другим серверам

Если вы хотите, чтобы сообщения, переданные вашими пользователями, достигали других узлов, тем более, если вы собираетесь предоставлять другим серверам материалы групп в полном объеме, вам надо соответствующим образом сконфигурировать ваш сервер новостей. Для этого необходимо отредактировать содержимое файла

/etc/news/newsfeeds
. В файле
/etc/news/newsfeeds
находятся записи, представленные в следующем формате:

идентификатор_узла:шаблон[,шаблон...]:флаг[, флаг...]:параметр

Длина подобных записей может быть достаточно большой. Для того чтобы разместить запись в нескольких строках, надо использовать символ

\
. Если данный символ располагается в конце строки, это означает, что следующая строка является ее продолжением. Размещение записи в нескольких строках делает запись более удобной для восприятия и упрощает редактирование файла. Назначение каждого из полей описано ниже.

• 

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

• 

шаблон
. Шаблон определяет одну или несколько групп новостей. Если количество групп, поддерживаемых сервером, невелико, вы можете указывать имя каждой группы, в противном случае следует применять символ групповой операции (
*
). Например,
comp.os.*
определяет все группы в категории
comp.os
. Если перед шаблоном указан символ
!
, это означает, что материалы данных групп не должны передаваться на другой сервер; исключение составляют лишь сообщения, переданные одновременно в несколько групп. Аналогичный результат получается при использовании символа
@
, но при этом сообщения, переданные в несколько групп, также блокируются. Предположим, например, что вы задали в данном поле значение
!comp.os.linux
. Если сообщение направлено в группы
comp.os.linux
и
comp.os.linux.hardware
, оно появится лишь в составе группы
comp.os.linux.hardware
. Значение
@comp.os.linux
полностью запретит передачу данного сообщения. Сервер INN интерпретирует записи в файле
newsfeeds
последовательно одну за другой, поэтому если вы укажете
comp.os.*, !comp.os.linux
, INN разрешит передачу всех сообщений категории
comp.os
, за исключением группы
!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

Поделиться с друзьями: