Рейтинг@Mail.ru

Наши друзья и партнеры

купить дешевый 
компьютер родом из Dhgate.com






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Сообщения Control

Протокол новостей Usenet знает специальный класс статей, которые вызывают некоторые ответы или действия системы новостей. Они называются сообщениями control. Они распознаются присутствием поля Control: в заголовке статьи, которое содержит имя операции управления, которую нужно выполнить. Имеются отдельные типы этих операций, которые обрабатываются командами оболочки, расположенными в /usr/lib/news/ctl.

Большинство из них выполнит свое действие автоматически во время обработки статьи C-News, без уведомления newsmaster. По умолчанию только сообщения checkgroups будут вручены newsmaster, но Вы можете изменить это, редактируя скрипты.

Сообщение cancel

Наиболее широко известное сообщение cancel , которым пользователь может отменять статью, посланную ранее. Оно действительно удаляет статью из каталогов spool, если она существует. Сообщение cancel будет послано всем абонентам, которые получают новости из заданных групп независимо от того, была ли статья уже замечена или еще нет. Нужно принять во внимание возможность того, что первоначальная статья была отсрочена, несмотря на сообщение сокращения. Некоторые системы новостей позволяют пользователям отменять сообщения другого автора, это определенный минус.

newgroup и rmgroup

Два сообщения имеют дело с созданием или удалением newsgroups: это newgroup и rmgroup . Newsgroups ниже "обычной" иерархии могут быть созданы только после того, как среди читателей Usenet было проведено обсуждение и утверждение. Правила для иерархии alt представляют собой что-то близкое к анархии. Для подробной информации см. регулярные регистрации в news.announce.newusers и news.announce.newgroups. Никогда не посылайте сообщение newgroup или rmgroup самостоятельно, если Вы определенно не знаете, что Вам позволено.

Сообщение checkgroups

Сообщения checkgroups посылаются администраторами новостей, чтобы для всех абонентов внутри сети синхронизировать их файлы active с фактическим положением дел в Usenet. Например, коммерческие поставщики услуг Internet могли бы выпускать такое сообщение к своим абонентам. Один раз в месяц "официальное" сообщение checkgroups для главных иерархий отсылается в comp.announce.newgroups их модератором. Однако оно зарегистрировано как обычная статья, а не как управляющее сообщение. Чтобы выполнить операцию checkgroups, сохраните эту статью в файле, скажем, /tmp/check, удалите все до начала сообщения управления и передайте его скрипту checkgroups , используя следующую команду:
# su news -c "/usr/lib/news/ctl/checkgroups" < /tmp/check

Это модифицирует Ваш файл newsgroups, добавляя группы, перечисленные в localgroups. Старый файл newsgroups будет перемещаться в newsgroups.bac. Обратите внимание, что регистрация сообщения локально редко будет работать, потому что inews отказывается принимать это как статью.

Если C-News находит несоответствия между списком checkgroups и файлом active, он выдаст список команд, которые модернизируют Ваш сервер и сообщат это администратору новостей. Вывод обычно походит на это:

From news Sun Jan 30 16:18:11 1994
Date: Sun, 30 Jan 94 16:18 MET
From: news (News Subsystem)
To: usenet
Subject: Problems with your active file
The following newsgroups are not valid and should be removed.
        alt.ascii-art
        bionet.molbio.gene-org
        comp.windows.x.intrisics
        de.answers
You can do this by executing the commands:
         /usr/lib/news/maint/delgroup alt.ascii-art
         /usr/lib/news/maint/delgroup bionet.molbio.gene-org
         /usr/lib/news/maint/delgroup comp.windows.x.intrisics
         /usr/lib/news/maint/delgroup de.answers
The following newsgroups were missing.
        comp.binaries.cbm
        comp.databases.rdb
        comp.os.geos
        comp.os.qnx
        comp.unix.user-friendly
        misc.legal.moderated
        news.newsites
        soc.culture.scientists
        talk.politics.crypto
        talk.politics.tibet
Когда Вы получаете такое сообщение от вашей системы новостей, не отбрасывайте его вслепую. В зависимости от того, кто послал сообщение checkgroups, оно может испытывать недостаток нескольких групп или даже всех иерархий; так что Вы должны быть осторожны относительно удаления любых групп. Если Вы находите группы, перечисленные как отсутствующие, и Вы хотите иметь их на сервере, Вы должны добавить их, используя скрипт addgroup. Сохраните список отсутствующих групп в файле и передайте его следующему небольшому скрипту:
#!/bin/sh
#
WHOIAM=`whoami`
if [ "$WHOIAM" != "news" ] then
   echo "You must run $0 as user 'news'" >&2
   exit 1
fi
#
cd /usr/lib/news
while read group; do
    if grep -si "^$group[[:space:]].*moderated" newsgroup; then
       mod=m
    else
       mod=y
    fi
    /usr/lib/news/maint/addgroup $group $mod
done

sendsys, version и senduuname

В заключение, имеются три сообщения, которые могут использоваться, чтобы выяснить топологию сети. Это sendsys, version и senduuname . Они заставляют C-News возвращать отправителю файл sys, версию программного обеспечения и вывод uuname, соответственно. C-News очень лаконичен относительно сообщения version; он возвращает просто C.

Вы никогда не должны выдавать такое сообщение, если Вы не уверены, что это не может повредить Вашей региональной сети. Ответы сообщениям sendsys могут быстро положить сеть UUCP.

Если вам понравилась статья, поделитесь ею с друзьями: