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

ЖАНРЫ

Стахнов Алексей Александрович

Шрифт:

Чрезвычайно важно, чтобы ваши анонимные и гостевые пользователи FTP не имели доступа к реальному командному процессору. Тогда, даже если они по каким-либо причинам смогут покинуть окружение FTP, то не смогут выполнить никаких посторонних задач. Для обеспечения этого требования убедитесь, что в файле /etc/passw у пользователей guest и anonymous в поле, где находится командная оболочка пользователя, находится что-то типа /dev/null.

Файл ftpusers должен содержать список следующих псевдо-пользователей, которым будет отказано в подключении к FTP-серверу:

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

Обычно FTP-сервер

разрешает загрузку файлов на сервер (upload) всем пользователям. Однако необходимо запретить пользователям загружать свои файлы в некоторые каталоги (а иногда и во все). Для этого в файле ftpaccess необходимо прописать опцию upload с ключом по и указать каталог, на который налагается запрет. Иногда желательно запретить пользователям получение с FTP-сервера некоторых каталогов и файлов. Для этого в файле ftpaccess добавляем строку noretrieve с каталогом, куда необходимо запретить доступ пользователям.

Ссылки

• RFC 959 – RFC, описывающий FTP-протокол.

• www.bog.pp.ru/work/ftpd.html – описание конфигурирования сервера wu-ftp.

• ftp.wu-ftpd.org – исходный текст пакета wu-ftp.

• www.westnet.com/providers/multi-wu-ftpd.txt – описание настройки виртуальных FTP-серверов.

• ftp.foi.com/pub/wu-ftpd/guest-howto – HOWTO по настройке анонимного доступа на FTP-сервер.

Глава 21 Сервер новостей INN

Одним из популярных сервисов, доступных в Интернете, является Usenet (News, новости, телеконференции, эхо-конференции). Это похоже на электронную доску объявлений или Web-форумы. В Usenet минимальной единицей информации является статья. Статья помещается в конференцию. Каждая конференция имеет свою тему. Конференций может быть множество – несколько десятков тысяч. Конференции имеют иерархическую структуру. Имя образуется из имени родительской иерархии, к которому через точку добавляется имя конференции. К примеру – fido7.ru.linux, где fido7 – корень иерархии, показывающий, что группа новостей импортирована из эхо-конференций FIDO, ru – русскоязычная (российская, ранее было su – Советский Союз), linux – конференция посвящена Linux. Для приема и передачи статей используются News-серверы (Usenet-серверы). Эти серверы производят синхронизацию (обмен статьями) между собой. Для передачи и приема статей используется протокол NNTP (Network News Transfer Protocol, сетевой протокол передачи новостей).

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

• идентификационный номер статьи;

• автор статьи;

• длина статьи;

• тема статьи.

Принятые статьи накапливаются, но не более чем за определенный период (свой для каждой телеконференции). Устаревшие материалы уничтожаются.

Наиболее популярным программным обеспечением для создания сервера телеконференций является пакет InterNetNews, INN.

Сервер новостей InterNetNews (INN)

Пакет INN является одним из старейших пакетов программного обеспечения, предназначенного для создания сервера новостей. Использует стандартный протокол NNTP. Новости хранятся на сервере в дереве каталогов, имена которых формируются из имен телеконференций и повторяют их иерархическую структуру.

Работа пакета INN

Основной процесс – innd. Постоянно запущен в системе, ожидая и принимая поток статей по протоколу NNTP от серверов новостей. Прослушивает порт 119 на наличие входящих соединений. Ведет список активных групп, список статей, статьи, базу заголовков статей, пакеты статей для рассылки по серверам новостей, журналы.

При соединении клиентов для чтения новостей программа innd передает

управление демону nnrpd. Этот демон просматривает файл nnrp.access для определения прав доступа к локальной базе статей.

Для управления работой innd – добавления, удаления групп, статей, серверов новостей, изменения параметров работы используется программа ctlinnd.

Удалением старых статей с истекшим сроком хранения занимаются программы expire и expireover, которые удаляют устаревшие файлы, не останавливая innd.

Для автоматического обновления списка новостей используются управляющие сообщения.

Управляющие сообщения

Представляют собой обычные статьи в обычной группе новостей, имеющие заголовок "Control: ". Встретив такую статью, innd обрабатывает записанную в ней команду и сохраняет статью. Управляющие сообщения могут содержать следующие команды:

• cancel Message-ID (обрабатывается самим innd);

• иначе первое слово рассматривается как имя программы (ищется в каталоге ${BIN}/control). Если программа не существует, то вызывается программа default.

Сообщения запоминаются в псевдогруппе control. Если создать подгруппу control.имя_команды, то все соответствующие статьи будут помещаться в эту подгруппу (очень рекомендуется создать control.cancel, control.newgroup, control.rmgroup, control.checkgroups).

Настройка системы INN

Сервер новостей INN по возможностям n сложности настройки весьма напоминает пакет sendmail. Исходя из этого не приходится удивляться огромному количеству конфигурационных файлов и параметров конфигурации. Находятся конфигурационные файлы в каталоге /etc/news. Рассмотрим наиболее значимые из них:

• /etc/news/actsync.cfg – этот файл, как и следующий, используется для конфигурации автоматического изменения списка групп новостей. Обычно, чтобы в последствии не разгребать завалы неведомо откуда взявшихся групп новостей с огромным трафиком, добавление новых групп новостей возлагается на администратора системы;

• /etc/news/actsync.ign – этот файл, как и предыдущий, используется для конфигурации автоматического изменения списка групп новостей;

• /etc/news/control.ctl – в этом файле описывается, как обрабатывать управляющие сообщения. Каждая его строка задает действие. Строки состоят из четырех полей, разделенных двоеточием. Первое поле задает команду, к которой применяется действие (можно указать ключевое слово all), последнее поле – действие. Строки просматриваются по порядку. Используется последняя подошедшая. Возможные действия:

– doit

– doifarg

– doit=отдельный_журнал

– doit=mail

– doit= (без журнализации)

– drop

– log (запись в журнал – errlog)

– log=отдельный_журнал

– mail

Описание действий смотрите в документации на сервер INN. Для увеличения безопасности и устойчивости системы рекомендуется не использовать управляющие сообщения, а в файл control.ctl записать единственную строку all:*:*:drop – не делать никакой обработки вообще;

• /etc/news/cycbuff.conf – файл содержит конфигурацию метода хранения CNFS, обычно не используется (подробности смотрите в документации на пакет INN);

• /etc/news/distrib.pats – файл используется программами посылки статей, в частности, inews – для определения области распространения статьи.

Область распространения определяется по шаблону группы новостей и приоритету. Обычно файл не используется;

• /etc/news/expire.cti – файл определяет, через какое время статьи в базе устаревают. Использование файла зависит от метода хранения статей. В частности, метод хранения CNFS самостоятельно удаляет старые статьи. В этом же файле определяется, сколько времени хранить в «истории» информацию об удаленных или отвергнутых статьях.

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