Linux
Шрифт:
Чрезвычайно важно, чтобы ваши анонимные и гостевые пользователи FTP не имели доступа к реальному командному процессору. Тогда, даже если они по каким-либо причинам смогут покинуть окружение FTP, то не смогут выполнить никаких посторонних задач. Для обеспечения этого требования убедитесь, что в файле /etc/passw у пользователей guest и anonymous в поле, где находится командная оболочка пользователя, находится что-то типа /dev/null.
Файл ftpusers должен содержать список следующих псевдо-пользователей, которым будет отказано в подключении к FTP-серверу:
root
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
nobodyОбычно FTP-сервер
Ссылки
• 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=отдельный_журнал
Описание действий смотрите в документации на сервер INN. Для увеличения безопасности и устойчивости системы рекомендуется не использовать управляющие сообщения, а в файл control.ctl записать единственную строку all:*:*:drop – не делать никакой обработки вообще;
• /etc/news/cycbuff.conf – файл содержит конфигурацию метода хранения CNFS, обычно не используется (подробности смотрите в документации на пакет INN);
• /etc/news/distrib.pats – файл используется программами посылки статей, в частности, inews – для определения области распространения статьи.
Область распространения определяется по шаблону группы новостей и приоритету. Обычно файл не используется;
• /etc/news/expire.cti – файл определяет, через какое время статьи в базе устаревают. Использование файла зависит от метода хранения статей. В частности, метод хранения CNFS самостоятельно удаляет старые статьи. В этом же файле определяется, сколько времени хранить в «истории» информацию об удаленных или отвергнутых статьях.