Библиотека сайта rus-linux.net
Файлы настройки INN
INN использует несколько файлов настройки, все они хранятся в каталоге
/etc/news
. Некоторые изменения файлов конфигураций
появились в Version 2, и именно ее я рассмотрю здесь.
Если Вы хотите узнать больше относительно свойств файлов конфигурации, Вы можете также обратиться к man-страницам: дистрибутив INN имеет индивидуальную man-страницу для каждого файла.
Глобальные параметры
Есть ряд параметров INN, которые являются глобальными для всех групп новостей.
Файл inn.conf
Главный файл настройки INN называется inn.conf
.
Помимо прочего, он задает имя Вашей машины в сети Usenet. INN Version 2 имеет
огромное количество настроек в этом файле. Удачно, что большинство параметров
имеет значения по умолчанию, которые являются приемлемыми для многих случаев.
Страница справочника inn.conf(5)
имеет подробное
описание всех деталей параметров этого файла, и Вы должны ее внимательно
изучить, если испытываете проблемы с настройкой.
inn.conf
:
# Sample inn.conf for the Virtual Brewery server: vlager.vbrew.com domain: vbrew.com fromhost: vbrew.com pathhost: news.vbrew.com organization: The Virtual Brewery mta: /usr/sbin/sendmail -oi %s moderatormailer: %s@uunet.uu.net # # Paths to INN components and files. # pathnews: /usr/lib/news pathbin: /usr/lib/news/bin pathfilter: /usr/lib/news/bin/filter pathcontrol: /usr/lib/news/bin/control pathdb: /var/lib/news pathetc: /etc/news pathrun: /var/run/news pathlog: /var/log/news pathhttp: /var/log/news pathtmp: /var/tmp pathspool: /var/spool/news patharticles: /var/spool/news/articles pathoverview: /var/spool/news/overview pathoutgoing: /var/spool/news/outgoing pathincoming: /var/spool/news/incoming patharchive: /var/spool/news/archive pathuniover: /var/spool/news/uniover overviewname: .overview |
Первая строка сообщает, где искать программы 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 flags |
Поле 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
может иметь одно из
следующих значений:
- y
Отправка статей непосредственно на этот сервер разрешена.
- n
Отправка статей непосредственно на этот сервер запрешена. Новые статьи могут быть получены только с других серверов. Программы работы с новостями непосредственно на этот сервер передать ничего не могут.
- m
Группа модерируемая. Любые статьи будут посланы модератору для утверждения прежде, чем они войдут в группу. Больше всего немодерируемых групп новостей.
- j
Статьи в этой группе не сохраняются, а только передаются. Это вызывает сервер новостей для приема статьи, но он только передаст ее следующему серверу транзитом. Он не будет делать статьи доступными программам чтения новостей (newsreaders) с этого сервера.
- x
Статья не может быть послана в эту группу. Единственный путь, которым статья может сюда попасть, это прийти с другого сервера.
- =
foo.bar
Местные статьи регистрируются в группе ``foo.bar''.
/var/lib/news/active
выглядит так:
control 0000000000 0000000001 y junk 0000000000 0000000001 y rec.crafts.brewing 0000000000 0000000001 y rec.crafts.brewing.ales 0000000000 0000000001 y rec.crafts.brewing.badtaste 0000000000 0000000001 y rec.crafts.brewing.brandy 0000000000 0000000001 y rec.crafts.brewing.champagne 0000000000 0000000001 y rec.crafts.brewing.private 0000000000 0000000001 y |
himark
и
lomark
в этом примере те, которые Вы
использовали при создании новой группы. Числа будут выглядеть совершенно
разными для групп, которые были активны некоторое время.
Файл newsgroups
еще проще. Он обеспечивает
однострочные описания для групп новостей. Некоторые программы способны читать
и предоставлять эту информацию пользователям, чтобы помочь им решить, хотят
ли они подписаться.
newsgroups
:
name description |
name
задает имя группы, а
description
строку описания для нее.newsgroups
:
rec.crafts.brewing.ales Home brewing Ales and Lagers rec.crafts.brewing.badtaste Home brewing foul tasting brews rec.crafts.brewing.brandy Home brewing your own Brandy rec.crafts.brewing.champagne Home brew your own Champagne rec.crafts.brewing.private The Virtual Brewery home brewers group |
Настройка подачи новостей
INN обеспечивает администратору новостей способ управлять тем, какие группы будут посланы на другие сервера, а также каким способом это будет выполнено. Наиболее общий метод использует протокол NNTP, но INN также позволяет передавать новости через другие протоколы, например, UUCP.
Файл newsfeeds
Файл newsfeeds
определяет, куда какие статьи
рассылать. Обычно он лежит в каталоге /etc/news
.
newsfeeds
сначала может показаться
сложным. Здесь я опишу его в общих чертах, а за подробностями отсылаю к
man-странице newsfeeds(5)
. Синтаксис файла:
# newsfeeds file format site:pattern:flags:param site2:pattern2\ :flags2:param2 |
Поле site
определяет имя сайта,
передача которому описана этой строкой. Здесь можно вписать любое имя, на
которое потом будут ссылаться другие определения. Единственное, что здесь
нельзя писать, это доменное имя сайта. Записанное здесь имя понадобится позже
для поиска в таблице имен для программы innxmit,
которая передает статьи по протоколу NNTP на удаленный сервер. Можно иметь
несколько записей для одного сайта: они обрабатываются индивидуально.
Поле pattern
указывает имена групп,
которые надо передать этому сайту. Значение по умолчанию должно послать все
группы, так что, если нужно именно это, оставьте поле пустым. Это поле обычно
хранит разделенный запятыми список шаблонов имен. Символ * как обычно
соответствует любой строке символов или ее отсутствию, символ . (точка) не
имеет никакой специальной нагрузки, зато символ ! (при использовании в начале
выражения) задает логический NOT. Наконец, символ @ в начале имени группы
запрещает пересылать любые статьи, которые посланы в эту группу. Список
читается и обрабатывается слева направо, так что Вы должны поместить более
специфические правила сначала. Например, шаблон:
rec.crafts.brewing*,!rec.crafts.brewing.poison,@rec.crafts.brewing.private |
пошлет все новости иерархии rec.crafts.brewing за исключением группы rec.crafts.brewing.poison. Он не пошлет никаких статей, которые пришли в группу rec.crafts.brewing.private: эти статьи будут доступны только тем людям, которые используют этот сервер.
Поле flags
контролирует подачу
новостей к заданному сайту. Здесь используется разделенный запятыми список
из следующих команд:
- <
size
Статья должна быть размером меньше заданного значения в байтах.
A
items
Статья проверяется на соответствие критериям:
d
(должен быть заголовок Distribution) илиp
(не проверять сайт в поле Path заголовка).B
high
/low
Размер внутреннего буфера перед записью.
H
[count
]Статья должна иметь меньше, чем
count
записей о пересылке, по умолчанию 1.I
size
Размер внутреннего буфера для передачи файлов.
M
pattern
Этому шаблону соответствуют только модерируемые группы.
N
pattern
Этому шаблону соответствуют только немодерируемые группы.
S
size
Если размер статьи в байтах превышает указанный, поместить ее в очередь для отправки.
T
type
Типы подачи новостей:
f
(файл),m
(поток, полеparam
в соответствующей записи указывает, что статья будет подаваться потоком),p
(канал к программе),c
(послать каналу stdin подпроцесса, заданного в полеparam
) иx
(аналог c).W
items
Что записывать:
b
(размер статьи в байтах),f
(полный путь),g
(первая группа новостей),m
(Message ID),n
(относительный путь),s
(сайт для подачи статьи),t
(время приема),*
(имя потока или перечень всех сайтов, которые получают статью),N
(поле newsgroups заголовка),D
(поле distribution заголовка),H
(весь заголовок),O
(обзорные данные) иR
(данные для ответа).
Поле param
имеет специальное кодирование,
которое зависит от типа передачи. В наиболее общей конфигурации здесь
хранится имя выходного файла, в который Вы будете записывать исходящие
данные. В других конфигурациях Вы можете оставлять его пустым или задавать
другие значения. Если Вы хотите сделать что-либо нестандартное, обратитесь за
подробностями к man-странице newsfeeds(5)
.
Имеется специальное имя сайта, которое должно быть кодировано как
ME
и быть первым в этом файле. Эта запись
используется, чтобы управлять заданными по умолчанию параметрами настройки
для входящих статей. Если запись ME
имеет
дистрибутивный список, связанный с ней, этот список будет добавлен к каждой
записи перед отправкой сообщения.
Я упомянул ранее, что можно использовать специальное сообщение для
построения данных, которые делает работу с новостями проще. Это делается
командой overchan, которая является частью INN. Чтобы
делать это, мы создадим специальную локальную рассылку
overview
, которая передаст статьи для обработки
команде overchan.
Наш сервер новостей будет обеспечивать только одну внешнюю подачу новостей, которая идет на Groucho Marx University, они получают все статьи из всех групп, кроме control и junk, а также группы rec.crafts.brewing.private, которая является местной, и rec.crafts.brewing.poison, в которую не могут ничего послать локальные пользователи.
param
в имя файла для
вывода. Конфигурация в файле:
# /etc/news/newsfeeds file for the Virtual Brewery # # Send all newsgroups except the control and junk ones by default ME:!control,!junk:: # # Generate overview data for any newsreaders to use. overview::Tc,WO:/usr/lib/news/bin/overchan # # Feed the Groucho Marx University everything except our private newsgroup # and any articles posted to the rec.crafts.brewing.poison newsgroup. gmarxu:!rec.crafts.brewing.poison,@rec.crafts.brewing.private:\ Tf,Wnm:news.groucho.edu |
Файл nntpsend.ctl
Программа nntpsend управляет передачей новостей, используя протокол NNTP и вызывая команду innxmit. Простое использование nntpsend было только что показано, но у нее есть свой файл настройки, который обеспечивает некоторую гибкость при передаче новостей.
Команда nntpsend ожидает найти пакетные файлы
для сайтов, с которыми работает. Предполагается, что эти пакетные файлы будут
именованы как /var/spool/news/out.going/
. Демон
innd создает эти пакетные файлы при обработке записи в
sitename
newsfeeds
, который приведен в предыдущем разделе.
Там имя сайта было определено как имя файла в поле
param
, и это удовлетворяет входные
требования команды nntpsend.
Команда nntpsend имеет файл конфигурации
nntpsend.ctl
, который обычно сохраняется в каталоге
/etc/news
.
nntpsend.ctl
позволяет связывать полное
доменное имя, настройки подачи новостей и ряд параметров передачи с именем
сайта назначения. Общий формат файла:
sitename:fqdn:max_size:[args] |
Элементы этого формата:
sitename
Имя сайта из файла
newsfeeds
.fqdn
Полное доменное имя сервера, которому будут передаваться новости.
max_size
Максимальный объем новостей, передаваемых одним блоком.
args
Дополнительные параметры для команды innxmit.
nntpsend.ctl
. Мы имеем только одну подачу новостей.
Ограничим максимальный блок новостей 2 MB и передадим параметр
innxmit, который устанавливает 3-минутное (180 секунд)
время ожидания. Если бы мы поддерживали большой сайт новостей с несколькими
клиентами, пришлось бы создать дополнительные записи для каждого клиента:
# /etc/news/nntpsend.ctl # gmarxu:news.groucho.edu:2m:-t 180 |
Контроль доступа программ работы с новостями
Раньше доступ к новостям предоставлялся кому угодно. Но теперь клиентов стало столько, что предоставлять всем желающим доступ не получается: никакого сервера не хватит. Поэтому каждый сервер обслуживает лишь своих клиентов. INN имеет файлы конфигурации, чтобы управлять этим доступом.
Файл incoming.conf
Я упомянул в обзоре по INN, что данный пакет достигает хороших
результатов, отделяя механизм рассылки новостей от работы с клиентскими
программами. Файл /etc/news/incoming.conf
как раз
то место, где Вы определяете, какие хосты будут подавать Вам новости,
используя протокол NNTP и ряд параметров подачи. Любой хост, не перечисленный
в этом файле, не будет обработан демоном innd. Вместо
этого для него будет запущен демон nnrpd.
Синтаксис файла /etc/news/incoming.conf
очень
прост. Допустимы три типа записей: пары "ключ/значение", задающие значения
параметров, доменные имена, задающие имена хостов для доступа по NNTP
(peer
), и группы (group
),
задающие связь между двумя первыми типами записей. Пары ключ/значение могут
иметь три различных типа контекста. Глобальные пары относятся ко всем записям
хостов, определенным в файле. Группы обращаются ко всем определенным хостам
в своей группе.
Фигурные скобки ({}
) задают начало и конец
записей типов group
и peer
.
Символ # задает комментарий. Пары ключ/значение разделяются двоеточием и
располагаются по одной на строке.
Наиболее часто используются следующие ключи:
- hostname
Определяет разделенный запятыми список полных доменных имен или IP-адресов хостов, которым разрешено посылать новости на наш сервер.
- streaming
Задает, разрешены ли потоковые команды с этого хоста. Тип переменной Boolean. По умолчанию значение
true
.- max-connections
Максимальное количество подключений из этой группы или с данного сервера. Значение 0 (ноль) задает неограниченное число подключений, аналогично значению
none
.- password
Задает пароль, используемый для передачи новостей. По умолчанию не определен, то есть пароль не требуется.
- patterns
Определяет группы, которые принимаются от соответствующего сервера (или группы). Это поле кодируется по правилам из файла
newsfeeds
.
hosts.nntp
выглядит примерно так:
# Virtual Brewery incoming.conf file. # Global settings streaming: true max-connections: 5 # Allow NNTP posting from our local host. peer ME { hostname: "localhost, 127.0.0.1" } # Allow groucho to send us all newsgroup except our local ones. peer groucho { hostname: news.groucho.edu patterns: !rec.crafts.brewing.private } |
Файл nnrp.access
Я упомянул ранее, что программы чтения новостей (а фактически любой
компьютер, не перечисленный в hosts.nntp
), которые
соединяются с INN, обрабатываются программой nnrpd.
Демон nnrpd использует файл
/etc/news/nnrp.access
, чтобы определить, кто и с
какими правами может использовать сервер.
Файл nnrp.access
имеет структуру, схожую с
файлами настройками, рассмотренными выше. Он включает набор образцов,
используемых для проверки соответствия доменных имен или IP-адресов
соединяющихся машин и определения прав доступа. Каждая запись должна быть на
отдельной строке, поля разделяются двоеточиями. Для работы используется
последнее найденное соответствие. Каждая запись включает пять полей:
- Hostname или IP-адрес
Это поле соответствует правилам
wildmat(3)
соответствия шаблонов. Это образец, который описывает имя соединяющегося компьютера или его IP-адрес.- Permissions
Это поле определяет то, какие права нужно предоставлять. Есть два права:
R
для чтения иP
для посылки статей в группы.- Username
Необязательно, но позволяет Вам определять имя пользователя для его регистрации клиентом NNTP на сервере перед тем, как он будет посылать статьи (для чтения авторизация не требуется).
- Password
Необязательно, но может задавать пароль для отправки статей и задается в паре с
username
. Пустое поле определяет, что пароль не нужен.- Newsgroups
Задает группы, к которым разрешен доступ клиенту. Шаблон определен по правилам из файла
newsfeeds
.
nnrp.access
выглядит так:
# Virtual Brewery - nnrp.access # We will allow public reading of all newsgroups except our private one. *:R:::*,!rec.crafts.brewing.private # Any host with the Virtual Brewery domain may Read and Post to all # newsgroups *.vbrew.com:RP::* |
Старение статей
Когда статьи принимаются сервером, они сохраняются на диске. Статьи должны быть доступными пользователям некоторое время. Но крупный сервер очень требователен к месту на диске. Для эффективного использования диска, надо удалять периодически устаревшие статьи. Можно это автоматизировать, что называется старение статей (article expiration). INN обеспечивает средства автоматического удаления старых статей.
Файл expire.ctl
Сервер INN использует программу expire, чтобы
удалить устаревшие статьи. Она в свою очередь использует файл
/etc/news/expire.ctl
, чтобы конфигурировать
правила, которые управляют этим процессом.
/etc/news/expire.ctl
довольно прост.
Как и в большинстве файлов конфигурации строки, начинающиеся с символа # или
пустые, игнорируются. Общая идея состоит в том, что Вы определяете одно
правило на строку. Каждое правило определяет, как будет стареть указанная
группа статей. Синтаксис правила выглядит следующим образом:
|
Поля имеют смысл:
- pattern
Разделенный запятыми список образцов имен групп. Для проверки используется программа
wildmat
. Будет применено последнее подходящее правило.- modflag
Описывает, как это правило применяется к модерируемым группам. Допустимо указание
M
для модерируемых групп,U
для немодерируемых групп, илиA
, чтобы указать, что это правило применимо к любым группам новостей.- keep
Позволяет Вам определять минимальное время, которое статья с полем "Expires" в заголовке будет храниться. Единицами измерения являются дни. Можно использовать плавающую точку, например,
7.5
для указания семи с половиной дней. Можно также указатьnever
, чтобы статья не сохранялась вообще.- default
Это поле позволяет определять, сколько времени статья без поля
Expires
в заголовке будет храниться. Большинство статей не имеют поляExpires
в заголовке, так что этот параметр очень важен. Это поле кодируется по правилам для поляkeep
, но значениеnever
указывает, что статьи без поляExpires
в заголовке будут бессмертны.- purge
Это поле позволяет Вам определять максимальное время. которое статья с полем
Expires
в заголовке будет храниться до начала процесса старения. Правила задания аналогичны полюkeep
.
Expires
в заголовке. Группа
rec.crafts.brewing.private является внутренней, и в
ней статьи бессмертны:
# expire.ctl file for the Virtual Brewery # Expire all articles in 14 days by default, 7-21 days for those with # Expires: headers *:A:7:14:21 # This is a special internal newsgroup, which we will never expire. rec.crafts.brewing.private:A:never:never:never |
/etc/news/expires.ctl
. Допустима только одна
строка, которая выглядит следующим образом:
/remember/:
|
/remember/
помогает избавиться от
поступления статей, уже удаленных с Вашего сервера. Если он помнит, что уже
получал такую статью, он отклонит попытки снова послать ее. Важно не забыть,
что эта установка не имеет вообще никакого эффекта над самим процессом
устаревания новостей, а воздействует только на время, которое статьи
сохраняются в базе данных.Обработка сообщений Control
Как и C-News, INN может автоматически обрабатывать сообщения Control. INN обеспечивает мощный механизм конфигурации, чтобы управлять тем, какое действие будет выполнено для каждого ряда сообщений управления, и блок контроля доступа, чтобы управлять тем, кто может инициализировать действия по управлению группами.
Файл control.ctl
Файл control.ctl
довольно прост. Правила
синтаксиса для этого файла аналогичны правилам для прочих файлов INN. Строки,
начинающиеся с #
игнорируются, строки могут быть
продолжены, используя символ переноса /
, поля
разделяются двоеточиями (:
).
Когда сообщение управления будет получено, оно будет проверено по каждому правилу в файле. Используется последнее подходящее совпадение, так что Вы должны поместить любые универсальные правила в начало файла и более специфические правила в конце. Общий синтаксис файла:
|
Поля имеют смысл:
- message
Имя контрольного сообщения. Типичные сообщения описаны ниже.
- from
Образец в стиле оболочки, соответствующий e-mail адресу отправителя сообщения. Адрес будет преобразован в нижний регистр перед сравнением.
- newsgroups
Если пришло сообщение
newgroup
илиrmgroup
, это поле хранит соответствие образца в стиле оболочки (shell-style) с именем соответствующей группы.- action
Это поле определяет, какое действие выполнять для любого сообщения, соответствующего правилу. Имеется множество действий, которые мы можем выполнить, они будут описаны ниже.
Поле message
каждой строки может иметь
одно из значений:
- checkgroups
Предписывает администраторам новостей синхронизировать их базы данных активных групп со списком в сообщении.
- newgroup
Создать новую группу. Сообщение должно содержать короткое описание создаваемой группы новостей.
- rmgroup
Удалить группу новостей.
- sendsys
Переслать файл
sys
с этого сервера новостей отправителю сообщения. RFC-1036 заявляет, что это требование членства в Usenet. Эта информация должна быть публично доступна потому, что она используется для построения карты Usenet.- version
Вернуть отправителю сообщения имя хоста и версию программного обеспечения сервера новостей.
- all
Соответствует любому типу сообщений управления.
Поле message
может также включать
любые следующие действия:
- doit
Запрошенная команда выполняется. Во многих случаях будет послано e-mail сообщение администратору, чтобы уведомить его о выполнении.
- doit=
file
Аналог
doit
, но сообщение протокола пишется в файл протокола с именем file. Если в качестве имени файла задано mail, протокол отсылается по e-mail. Если в качестве имени задана пустая строка, сообщение будет записано в дыру памяти/dev/null
, эквивалентно использованию неквалифицированного действияdoit
. Если строка file начинается с символа /, имя считается абсолютным (путевым или полным). В противном случае указанное имя транслируется в/var/log/news/file.log
.- doifarg
Запрошенная команда выполняется, если имеет параметр. Если команда не имеет никакого параметра, сообщение управления игнорируется.
- drop
Запрошенная команда игнорируется.
- log
Сообщение протокола будет послано на
stderr
процессом innd. Это обычно направляется в файл/var/log/news/errlog
.- log=
file
Аналог
log
, но файл протокола определен согласно правилам, заданным для действияdoit
=file
.Будет послано e-mail сообщение администратору новостей, содержащее запрошенные команды. Никаких других действий не будет выполнено.
- verify-*
Если действие начинается со строки "
verify-
", то сообщение управления заверено, используя PGP (или GPG).
Пример простого файла control.ctl
:
## Sample /etc/news/control.ctl ## ## Warning: You should not use this file, it is illustrative only. ## ## Control Message Handling all:*:*:mail checkgroups:*:*:mail ihave:*:*:drop sendme:*:*:drop sendsys:*:*:log=sendsys senduuname:*:*:log=senduuname version:*:*:log=version newgroup:*:*:mail rmgroup:*:*:mail ## Handle control messages for the eight most important news heirarchies ## COMP, HUMANITIES, MISC, NEWS, REC, SCI, SOC, TALK checkgroups:*:comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:drop newgroup:*:comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:drop rmgroup:*:comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:drop checkgroups:group-admin@isc.org:*:verify-news.announce.newgroups newgroup:group-admin@isc.org:comp.*|misc.*|news.*:verify-news.announce.newgroups newgroup:group-admin@isc.org:rec.*|sci.*|soc.*:verify-news.announce.newgroups newgroup:group-admin@isc.org:talk.*|humanities.*:verify-news.announce.newgroups rmgroup:group-admin@isc.org:comp.*|misc.*|news.*:verify-news.announce.newgroups rmgroup:group-admin@isc.org:rec.*|sci.*|soc.*:verify-news.announce.newgroups rmgroup:group-admin@isc.org:talk.*|humanities.*:verify-news.announce.newgroups ## GNU ( Free Software Foundation ) newgroup:gnu@prep.ai.mit.edu:gnu.*:doit newgroup:news@*ai.mit.edu:gnu.*:doit rmgroup:gnu@prep.ai.mit.edu:gnu.*:doit rmgroup:news@*ai.mit.edu:gnu.*:doit ## LINUX (Newsfeed from news.lameter.com) checkgroups:christoph@lameter.com:linux.*:doit newgroup:christoph@lameter.com:linux.*:doit rmgroup:christoph@lameter.com:linux.*:doit |
Назад | Глобальное оглавление | Вперед |
Настройка INN | Локальное оглавление | Запуск INN |