|
|
|||
|
wm-help.net -> Электронная библиотека -> UNIX/Linux -> Руководство Сетевого Администратора Linux -> INN Configuration FilesINN Configuration Files
Файлы настройки INNINN использует несколько файлов настройки, все они хранятся в каталоге /etc/news. Некоторые изменения файлов конфигураций появились в Version 2, и именно ее я рассмотрю здесь. Если Вы хотите узнать больше относительно свойств файлов конфигурации, Вы можете также обратиться к man-страницам: дистрибутив INN имеет индивидуальную man-страницу для каждого файла. Глобальные параметрыЕсть ряд параметров INN, которые являются глобальными для всех групп новостей. Файл inn.confГлавный файл настройки INN называется inn.conf. Помимо прочего, он задает имя Вашей машины в сети Usenet. INN Version 2 имеет огромное количество настроек в этом файле. Удачно, что большинство параметров имеет значения по умолчанию, которые являются приемлемыми для многих случаев. Страница справочника inn.conf(5) имеет подробное описание всех деталей параметров этого файла, и Вы должны ее внимательно изучить, если испытываете проблемы с настройкой. Простой пример inn.conf:
Первая строка сообщает, где искать программы rnews и inews, с которыми компьютер должен входить в контакт при поставке статей. Это очень важно, поскольку innd должен установить соединение по NNTP для связи с сервером. Ключевое слово domain должно определить доменную часть имени хоста. Если сервер имен возвращает неполное доменное имя, к нему будет присоединено значение параметра domain. Следующая строка определяет имя хоста, которое собирается использовать inews при добавлении строки From: к статьям, зарегистрированным локальными пользователями. Большинство программ чтения новостей использует поле From: при создании ответа автору статьи. Если Вы опускаете это поле, будет использовано полное доменное имя хоста новостей. Это не всегда самый лучший выбор. Вы могли бы, например, обрабатывать почту и новости разными компьютерами. В этом случае Вы должны указать доменное имя почтового сервера после инструкции fromhost. Строка pathhost определяет имя хоста INN для добавления к полю Path: в заголовке статей. В большинстве случаев Вы будете использовать доменное имя сервера новостей. В этой ситуации поле можно пропустить: значением по умолчанию как раз и является доменное имя сервера новостей. Иногда Вы можете использовать универсальное имя, типа news.vbrew.com, при обслуживании большого домена. Это позволяет Вам легко перемещать систему новостей с одной машины на другую в зависимости от технических требований. Следующая строка имеет ключевое слово organization. Эта инструкция позволяет Вам конфигурировать, какой текст inews поместит в поле Organization: заголовков статей, зарегистрированных Вашими локальными пользователями. Формально здесь нужно указать описание или название Вашей организации. Ключевое слово organization обязательно и определяет имя агента транспортировки почты, который будет использован для отправки сообщений модератору. Здесь вместо %s будет подставлен e-mail адрес модератора группы. Слово moderatormailer определяет заданный по умолчанию адрес, используемый, когда пользователь пробует послать статью в модерируемую группу. Список адресов модераторов для каждой группы обычно хранится в отдельном файле. Запись moderatormailer используется как последняя инстанция: если она определена, inews заменит %s на адрес для соответствующей группы новостей. Например, при регистрации в soc.feminism статья будет отправлена по почте на адрес soc-feminism@uunet.uu.net, заданный в данной конфигурации для модератора данной группы. В заключение, каждая из оставшихся записей определяет расположение некоторого компонента, файла или программы, принадлежащего INN. Если Вы установили INN из пакета, эти пути должны быть уже сконфигурированы. Если же Вы устанавливаете INN из исходников, то должны гарантировать, что они отражают реальную ситуацию. Настройка групп новостейАдминистратор новостей может управлять правами доступа пользователей разных групп. INN обеспечивает два файла конфигурации, позволяющие администратору решать, какие группы поддерживать, и обеспечить описания для них. Файлы active и newsgroupsФайлы active и newsgroups используются, чтобы сохранять и описывать группы, поддерживаемые этим сервером. Они вносят в список группы, в получении и поддержке которых заинтересован данный сервер, и административную информацию о них. Эти файлы обычно лежат в каталоге /var/lib/news. Файл active определяет группы новостей, поддерживаемые данным сервером. Синтаксис у него простой. Каждая строка имеет четыре поля, разделенные пробелами:
Поле name задает имя группы. Поле himark определяет самый старший номер, который использовался для статьи в этой группе. Аналогично поле lomark задает младший номер. Чтобы проиллюстрировать, как это работает, рассмотрим пример. Допустим, что мы имеем недавно созданную группу: himark и lowmark в ней пока 0, потому что нет статей. Если послать 5 статей, они будут пронумерованы от 1 до 5. Теперь himark будет равняться 5, самому старшему номеру, а lowmark соответственно будет равен 1. Если статью 5 удалить, ничего не изменится; himark будет равен 5, чтобы гарантировать, что номер статьи не перераспределен, и lowmark останется в 1, самом младшем номере активной статьи. Если мы теперь отменяем статью 1, himark останется неизменяемым, но lowmark будет теперь равен 2, потому что 1 больше не активен. Если мы теперь регистрируем новую статью, ей будет назначенный номер 6, так что himark будет теперь равен 6. Статья 5 была использована, так что мы не будем переназначать этот номер. Значение lowmark остается в 2. Этот механизм позволяет нам легко распределять уникальные числа статьи для новых статей и вычислять приблизительно, как много активных статей находятся в группе: himark- lowmark. Поле flags может иметь одно из следующих значений:
Файл newsgroups еще проще. Он обеспечивает однострочные описания для групп новостей. Некоторые программы способны читать и предоставлять эту информацию пользователям, чтобы помочь им решить, хотят ли они подписаться. Формат файла newsgroups:
В данном случае мы хотим описывать группы, которые поддерживает наш сервер, так что напишем такой файл newsgroups:
Настройка подачи новостейINN обеспечивает администратору новостей способ управлять тем, какие группы будут посланы на другие сервера, а также каким способом это будет выполнено. Наиболее общий метод использует протокол NNTP, но INN также позволяет передавать новости через другие протоколы, например, UUCP. Файл newsfeedsФайл newsfeeds определяет, куда какие статьи рассылать. Обычно он лежит в каталоге /etc/news. Формат файл newsfeeds сначала может показаться сложным. Здесь я опишу его в общих чертах, а за подробностями отсылаю к man-странице newsfeeds(5). Синтаксис файла:
Поле site определяет имя сайта, передача которому описана этой строкой. Здесь можно вписать любое имя, на которое потом будут ссылаться другие определения. Единственное, что здесь нельзя писать, это доменное имя сайта. Записанное здесь имя понадобится позже для поиска в таблице имен для программы innxmit, которая передает статьи по протоколу NNTP на удаленный сервер. Можно иметь несколько записей для одного сайта: они обрабатываются индивидуально. Поле pattern указывает имена групп, которые надо передать этому сайту. Значение по умолчанию должно послать все группы, так что, если нужно именно это, оставьте поле пустым. Это поле обычно хранит разделенный запятыми список шаблонов имен. Символ * как обычно соответствует любой строке символов или ее отсутствию, символ . (точка) не имеет никакой специальной нагрузки, зато символ ! (при использовании в начале выражения) задает логический NOT. Наконец, символ @ в начале имени группы запрещает пересылать любые статьи, которые посланы в эту группу. Список читается и обрабатывается слева направо, так что Вы должны поместить более специфические правила сначала. Например, шаблон:
пошлет все новости иерархии rec.crafts.brewing за исключением группы rec.crafts.brewing.poison. Он не пошлет никаких статей, которые пришли в группу rec.crafts.brewing.private: эти статьи будут доступны только тем людям, которые используют этот сервер. Поле flags контролирует подачу новостей к заданному сайту. Здесь используется разделенный запятыми список из следующих команд:
Поле param имеет специальное кодирование, которое зависит от типа передачи. В наиболее общей конфигурации здесь хранится имя выходного файла, в который Вы будете записывать исходящие данные. В других конфигурациях Вы можете оставлять его пустым или задавать другие значения. Если Вы хотите сделать что-либо нестандартное, обратитесь за подробностями к man-странице newsfeeds(5). Имеется специальное имя сайта, которое должно быть кодировано как ME и быть первым в этом файле. Эта запись используется, чтобы управлять заданными по умолчанию параметрами настройки для входящих статей. Если запись ME имеет дистрибутивный список, связанный с ней, этот список будет добавлен к каждой записи перед отправкой сообщения. Я упомянул ранее, что можно использовать специальное сообщение для построения данных, которые делает работу с новостями проще. Это делается командой overchan, которая является частью INN. Чтобы делать это, мы создадим специальную локальную рассылку overview, которая передаст статьи для обработки команде overchan. Наш сервер новостей будет обеспечивать только одну внешнюю подачу новостей, которая идет на Groucho Marx University, они получают все статьи из всех групп, кроме control и junk, а также группы rec.crafts.brewing.private, которая является местной, и rec.crafts.brewing.poison, в которую не могут ничего послать локальные пользователи. Мы используем команду nntpsend для транспортировки новостей по NNTP на сервер news.groucho.edu. Программа nntpsend требует, чтобы мы использовали метод поставки "file" и писали путевое имя статьи и ее ID. Заметьте, что надо установить поле param в имя файла для вывода. Конфигурация в файле:
Файл nntpsend.ctlПрограмма nntpsend управляет передачей новостей, используя протокол NNTP и вызывая команду innxmit. Простое использование nntpsend было только что показано, но у нее есть свой файл настройки, который обеспечивает некоторую гибкость при передаче новостей. Команда nntpsend ожидает найти пакетные файлы для сайтов, с которыми работает. Предполагается, что эти пакетные файлы будут именованы как /var/spool/news/out.going/ sitename. Демон innd создает эти пакетные файлы при обработке записи в newsfeeds, который приведен в предыдущем разделе. Там имя сайта было определено как имя файла в поле param, и это удовлетворяет входные требования команды nntpsend. Команда nntpsend имеет файл конфигурации nntpsend.ctl, который обычно сохраняется в каталоге /etc/news. Файл nntpsend.ctl позволяет связывать полное доменное имя, настройки подачи новостей и ряд параметров передачи с именем сайта назначения. Общий формат файла:
Элементы этого формата:
Наш пример конфигурации требует очень простой файл nntpsend.ctl. Мы имеем только одну подачу новостей. Ограничим максимальный блок новостей 2 MB и передадим параметр innxmit, который устанавливает 3-минутное (180 секунд) время ожидания. Если бы мы поддерживали большой сайт новостей с несколькими клиентами, пришлось бы создать дополнительные записи для каждого клиента:
Контроль доступа программ работы с новостямиРаньше доступ к новостям предоставлялся кому угодно. Но теперь клиентов стало столько, что предоставлять всем желающим доступ не получается: никакого сервера не хватит. Поэтому каждый сервер обслуживает лишь своих клиентов. INN имеет файлы конфигурации, чтобы управлять этим доступом. Файл incoming.confЯ упомянул в обзоре по INN, что данный пакет достигает хороших результатов, отделяя механизм рассылки новостей от работы с клиентскими программами. Файл /etc/news/incoming.conf как раз то место, где Вы определяете, какие хосты будут подавать Вам новости, используя протокол NNTP и ряд параметров подачи. Любой хост, не перечисленный в этом файле, не будет обработан демоном innd. Вместо этого для него будет запущен демон nnrpd. Синтаксис файла /etc/news/incoming.conf очень прост. Допустимы три типа записей: пары "ключ/значение", задающие значения параметров, доменные имена, задающие имена хостов для доступа по NNTP (peer), и группы (group), задающие связь между двумя первыми типами записей. Пары ключ/значение могут иметь три различных типа контекста. Глобальные пары относятся ко всем записям хостов, определенным в файле. Группы обращаются ко всем определенным хостам в своей группе. Фигурные скобки ({}) задают начало и конец записей типов group и peer. Символ # задает комментарий. Пары ключ/значение разделяются двоеточием и располагаются по одной на строке. Наиболее часто используются следующие ключи:
В нашем примере мы имеем только один хост, с которым надо обмениваться новостями. Пароль задавать не будем, но обеспечим, чтобы частные группы не выходили за пределы нашей сети. Файл hosts.nntp выглядит примерно так:
Файл nnrp.accessЯ упомянул ранее, что программы чтения новостей (а фактически любой компьютер, не перечисленный в hosts.nntp), которые соединяются с INN, обрабатываются программой nnrpd. Демон nnrpd использует файл /etc/news/nnrp.access, чтобы определить, кто и с какими правами может использовать сервер. Файл nnrp.access имеет структуру, схожую с файлами настройками, рассмотренными выше. Он включает набор образцов, используемых для проверки соответствия доменных имен или IP-адресов соединяющихся машин и определения прав доступа. Каждая запись должна быть на отдельной строке, поля разделяются двоеточиями. Для работы используется последнее найденное соответствие. Каждая запись включает пять полей:
В нашем примере разрешается каждому пользователю нашего домена читать статьи и посылать их по NNTP. Кроме того, всем клиентам NNTP предоставляется доступ только на чтение (read-only) ко всем конференциям, кроме внутренних. Файл nnrp.access выглядит так:
Старение статейКогда статьи принимаются сервером, они сохраняются на диске. Статьи должны быть доступными пользователям некоторое время. Но крупный сервер очень требователен к месту на диске. Для эффективного использования диска, надо удалять периодически устаревшие статьи. Можно это автоматизировать, что называется старение статей (article expiration). INN обеспечивает средства автоматического удаления старых статей. Файл expire.ctlСервер INN использует программу expire, чтобы удалить устаревшие статьи. Она в свою очередь использует файл /etc/news/expire.ctl, чтобы конфигурировать правила, которые управляют этим процессом. Синтаксис /etc/news/expire.ctl довольно прост. Как и в большинстве файлов конфигурации строки, начинающиеся с символа # или пустые, игнорируются. Общая идея состоит в том, что Вы определяете одно правило на строку. Каждое правило определяет, как будет стареть указанная группа статей. Синтаксис правила выглядит следующим образом:
Поля имеют смысл:
Наши требования просты. Мы будем хранить все статьи во всех группах в течение 14 дней по умолчанию и от 7 до 21 для статей с полем Expires в заголовке. Группа rec.crafts.brewing.private является внутренней, и в ней статьи бессмертны:
Есть один специальный тип записи, который Вы можете иметь в файле /etc/news/expires.ctl. Допустима только одна строка, которая выглядит следующим образом:
Обработка сообщений ControlКак и C-News, INN может автоматически обрабатывать сообщения Control. INN обеспечивает мощный механизм конфигурации, чтобы управлять тем, какое действие будет выполнено для каждого ряда сообщений управления, и блок контроля доступа, чтобы управлять тем, кто может инициализировать действия по управлению группами. Файл control.ctlФайл control.ctl довольно прост. Правила синтаксиса для этого файла аналогичны правилам для прочих файлов INN. Строки, начинающиеся с # игнорируются, строки могут быть продолжены, используя символ переноса /, поля разделяются двоеточиями (:). Когда сообщение управления будет получено, оно будет проверено по каждому правилу в файле. Используется последнее подходящее совпадение, так что Вы должны поместить любые универсальные правила в начало файла и более специфические правила в конце. Общий синтаксис файла:
Поля имеют смысл:
Поле message каждой строки может иметь одно из значений:
Поле message может также включать любые следующие действия:
Пример простого файла control.ctl:
|
|
| бодибилдинг | Строим Домик | RU-домены за 170 рублей | Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2009. При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны! Время генерации страницы: 0.117 |