Файл control ctl Файл control



Файл control.ctl

Файл control.ctl довольно прост. Правила синтаксиса для этого файла аналогичны правилам для прочих файлов INN. Строки, начинающиеся с # игнорируются, строки могут быть продолжены, используя символ переноса /, поля разделяются двоеточиями (:).

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

message:from :newsgroups: action

Поля имеют смысл: 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.

mail

Будет послано 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


Содержание раздела