Нода под FreeBSD

From
vadim s sabinich (2:5070/665.264)
To
Evgeny Levinskiy
Date
2006-07-29T08:27:52Z
Area
RU.UNIX.FTN
28 июл 06 23:53, Alex Kocharin --> Evgeny Levinskiy:

 EL>> Так вот хотелось бы где нибудь почитать о настройке вышеназванных
 EL>> софтин.
 EL>> И не какой-нибудь фак, а что-нибудь полноценное, ибо в фидо я
 EL>> недавно и пока являюсь конкретным чайником в этой области.
 EL>> Подскажите.

 AK> Исходники читай. :-)

 AK> А так, полный конфиг дает довольно хорошее представление...
из старенького =)
Так и не законченная, на мой взгляд, статья-руководство по
организации фидо-узла под операционной системой семейства UNIX.
 mgetty:        ftp://alpha.greenie.net/pub/mgetty/source/1.1/

 fidogate4:     http://www.fidogate.org/pub/fidogate/
 fidogate5:     http://node126.narod.ru/files/
 ifmail2.15:
 inn:           http://www.isc.org/products/INN/
 leafnode2:     ftp://wpxx02.toxi.uni-wuerzburg.de/pub/
 util-leafnode: http://maint.unona.ru

 ftrack:        ftp://fido.aha.ru/pub/fechos/unixftn/
                http://node126.narod.ru/files
 bforce:        http://bforce.chbs.ru/
 bforce-kst:    http://kst.spb.ru/bforce/
 qico:          http://lev.serebryakov.spb.ru/
 qico-si:       http://www.sf.net/projects/qico
 husky:         http://husky.sourceforge.net/
 crashmail:     http://www.df.lth.se/~billing/crashmail.html
                http://www.billingware.org/crashmail.html
 golded+:       http://golded-plus.sourceforge.net/
 binkd:         http://www.corbina.net/~maloff/binkd/
                ftp://happy.kiev.ua/pub/fidosoft/mailer/binkd/
 osastat:       ftp://fido.aha.ru/pub/fechos/unixftn/

 exim:          http://www.exim.org/
 sendmail:      ftp://ftp.sendmail.org/pub/sendmail/
 qmail:         http://cr.yp.to/software/
 postfix:       ftp://ftp.porcupine.org/mirrors/postfix-release/official/

 tin:           http://mirrors.rcn.net/pub/news/tin/v1.6/
 pine4:         ftp://ftp.cac.washington.edu/pine/
 slrn:          http://slrn.sourceforge.net/
 mutt:          ftp://ftp.mutt.org/mutt/
 gnus:          http://www.gnus.org/
 emacs:

 *** ОРГАНИЗАЦИЯ УЗЛА ФИДОНЕТ ПОД ОПЕРАЦИОННОЙ СИСТЕМОЙ UNIX. ***

########
#############
##
## ОГЛАВЛЕНИЕ
##
#
#

1. Введение
2. Настройка mgetty
3. Настройка фидошного ПО
4. Благодарности
5. Приложение A: FAQ по настройке mgetty


########
############
##
## ВВЕДЕНИЕ
##
#
#

В моих планах уже был пункт написания подобной статьи, но некоторые
посторонние отвлекающие факторы (подобные краху винта, перехода с Linux
Debian 3.0r0 на FreeBSD 5.1 и тому подобное) не оставляли мне желания для
подобной работы. И все же я решился, благодаря одному знакомому новоноду и
несчисляемому потоку подобных вопросов в ru.linux, ru.linux.chainik и
ru.unix.ftn. Конечно, я больше чем уверен в том, что данная статья послужит
только определенному контингенту читателей, которым интересен не только сам
процесс настройки, но и само понимание того, что они делают, как они делают
и, самое главное, - почему они делают именно так, а не иначе.
Многие руководства и FAQ'и грешат тем, что они показывают как сделать,
но не обьясняют. Поэтому, я решил написать этот текст, учитывая все
вопросы и личные предпочтения.

NOTE: Хотелось бы отметить одну очень острую насущную проблему. Если у вас
      soft-модем или win-modem, и вам жалко нервов и времени -
      замените его на какой-нибудь нормальный модем. Сам я использую ZyXEL
      U-1496E+ и все настройки будут относительного него.

Название статьи обусловлено тем, что методика настройки будет подходить ко
всем операционным системам, основанных на UNIX. Или, как их еще называют,
unix-like os.
Существует несколько способов настройки фидошной станции. Они отличаются по
сложности настройки, поидеалогии и по возможностям. Разграничим их условными
названиями 'native-fido' и 'unixway-fido'.
На данный момент я не являюсь сторонником unixway-fido, но и не являюсь
противником. Данный способ поднятия фидостанции построен на использовании
InternetNewsServer'а (в качестве которого могут быть inn или leafnode),
MailTransportAgent'a (sendmail, exim, qmail, etc) и, собственно, программы,
осуществляющей пересылку между ftn- и rfc-технологиями - гейты (ifmail и его
ветки, fidogate). Я не буду основательно рассматривать данный тип
организации фидошной станции, ибо в данный момент мои знания недостаточны
для описания вышеуказанной технологии. Поэтому я заострю внимание на более
привычном native-fido. Но могу посоветовать FAQ, написанный Andrey Slusar
[2:467/127] по настройки FidoGate с различными MTA и News-серверами.
Данный текст регулярно помещается в эхоконференцию ru.unix.ftn, так же
последную версию FAQ можно получить, написав нетмейлом сообщение:
To: FAQServer 2:467/126
Subject: FIDOGATE

Но смею напомнить - это только руководство к действиям. В документе
практически ничего не обьясняется. Было бы двое полезней, если бы Андрей
сделал более подробные комментарии по каждому шагу настройки

Сразу же не хочется напомнить о том, что следует более внимательно относится
к уровням доступа, ибо наибольшее количество вопросов и неудач возникает
именно от несоответствия установленных уровней доступа в программном
обеспечении и требуемым настройками операционной системы.
И так. Для начала перечислим ингредиенты:
mgetty - программа предназначена для ответа на входящие звонки, определения
         типа (fido, ip, voice) и запуска указанных программ.
mailer - фидошный мейлер, который будет запускаться mgetty при входящих
         фидошных звонках и делать исходящие звонки, будучи запущенным в
         качестве демона. bforce, qico, BinkleyTerm/XE.
tosser - тоссер, занимающийся обработкой эхопочтой. CrashMail, CrashEcho,
         hpt.
reader - редактор фидопочты. GoldED, MsgED.

Вот, собственно, и весь минимальный комплект фидошного узла. О многих из
данных программ я уже рассказывал в своей обзорной статье о фидошном софте.
Теперь остановимся подробней на некоторых тонкостях настройки программного
обеспечения.

Вам следует создать пользователя, из-под которого вы будете работать с
программным обеспечением фидо. Для удобства, я этого пользователя назову fido.
Для создание нового пользователя, следует ввести команду
root@phobos ~:$ adduser fido
пользуясь привилегией root. В дальнейшем, в /home/fido/ можно будет
разместить конфигурационные файлы. Но вы так же можете использовать для этих
целей /etc/fido/ или /usr/local/etc/fido/ (под FreeBSD).

########
############
##
## НАСТРОЙКА MGETTY
##
#
#

Настройку mgetty хотелось бы начать с небольшой вырезки из мануала по mgetty
для более популярного обьяснения возможностей, предоставляемые этой программой.
>Mgetty является 'умным' дополнением к getty, разработанным для
>использования с hayes-совместимыми модемами и факс-модемами. Mgetty
>известно о инициализации модема, ручном ответе модемом (так что ваш
>модем не отвечает, если машина не готова), UUCP-блокировке (и вы можете
>использовать разное оборудование для входящих и исходящих звонков).
>Mgetty предоставляет очень широкие возможности журналирования.

Многие из дистрибутивов Линукса уже имеют в своих репозиториях пакеты с уже
скомпилированными исходными текстами mgetty. В Debian, ASP Linux и ALT Linux
Master 2.2 пакеты собраны с поддержкой распознавания входящих звонков
фидошными мейлерами. В остальных дистрибутивах я не уверен. Поэтому
рекомендую брать архивы с исходными кодами и компилировать самому с
указанием в Makefile ключа -DFIDO. В случае с FreeBSD, при установке из
коллекции портов, на экран выводится предупреждение-рекомендация о том, что
можно указать данный ключ из коммандной строки.
Будем считать, что mgetty установлена с использованием всех рекомендаций и
распознает пакеты EMSI, посылаемые мейлерами для соединения и распознавания
ftn-совместимого софта.
В Linux все конфигурационные файлы находятся в /etc/mgetty+sendfax/, а во
FreeBSD - /usr/local/etc/mgetty+sendfax.
В случае с Коллекцией Портов FreeBSD от ноября-декабря 2003 года, при
установке активируется довольно удобный интерактивный создатель
конфигурационных файлов. В Линуксе, вам придется обойтись примерами
тех же самых файлов.
И так, для настройки нам потребуются файлы mgetty.config и login.config (в
последствии я помещу переводы примеров конфигурационных файлов и
докуменатции от mgetty на сайт).
Я не вижу смысла приводить сейчас конфигурационные файлы целиком, поэтому
ограничусь только необходимым строками (в принципе, это может означать
только одно - остальные строки вам не сильно понадобятся, или не понадобятся
вообще).
Рассмотрим mgetty.config (я бы так же посоветовал вам сделать копии
дистрибутивных конфигурационных файлов с названием, допустим,
mgetty.config.old и login.config.old):

=== mgetty.config ===
# Указание порта, на котором у вас находится модем. ttyS0 и cuaa
# равнозначны com1, а ttyS1 и cuaa1 - com2 и используются в Linux и FreeBSD
# соответственно.
port cuaa1</p>

# Данная строка определяет уровень детализации лог-файла. Может изменять
# свои значения от 1 (низкий уровень детализации. Только фиксирует входящие
# звонки и их тип) и до 8 (отладочный уровень детализации. Используется для
# тестирования новых версии mgetty и любопытными). Для начала я посоветую
# оставить или 4, или 5.
debug 4</p>

# Установка максимальной скорости модема.
# По данной строке в конфигурационном файле было затеяно небольшое
# обсуждение, в ходе которого решили поставить здесь двойную величину
# скорости модема. И, как поиск оптимального решения, - начать с
# 2xMAX_MODEM_SPEED и двигаться в сторону MAX_PORT_SPEED, оценивая качество
# связи.
speed 19200</p>

# Установка уровня доступа к порту. (странно, что данные строки по умолчанию
# закомментированы.) Сверьтесь с установками /dev/<port>. И, соответственно,
# исправьте в конфигурационном файле.
port-owner uucp
port-group dialer
port-mode 0660

# Если ваш модем не поддерживает прием\посылку факсов или вам не требуется
# данная функция.
data-only YES

###
# В принципе, в моем mgetty.config больше нет никаких настроек. Но все же
# советую указать и последующие установки
##

# Следующая строка отвечает за инициализацию модема. Тут я искренне советую
# почитать документацию mgetty (вполне возможно, что ваш модем там описан со
# всей тщательностью) и документацию от вашего модема. Поэтому ставлю тут
# строку, которая инициализирует заводские настройки модема (что крайне не
# рекомендуется).
init-chat ATZ

# Установка количества звонков перед посылкой модему команды ATA для
# поднятия трубки. По умолчанию - 1.
rings 1

# И последняя строка в этом небольшом конфигурационном файле,
# в которой устаналивается строка поднятия модемом трубы. Можете так же
# закомментировать строку и использовать по умолчанию. Но, советую все же
# поступить так же, как и с init-chat.
answer-chat "" ATA CONNECT \c \r

#
=== mgetty.config ===

Теперь переходим к настройке приема самих входящих соединений.
В login.config вам потребуется только одна строка, а вторую строку можно
оставить по желанию. Для возможности соединения удаленным доступом к консоли
вашей системы.

=== login.config ===
# Строка, которая будет отвечать за входящие фидошными мейлерами, начинается
# с /FIDO/. Формат подобной строки следующий:
#
# username userid utmp_entry login_program [arguments]
#
# Где:
# username      - может начинаться или оканчиваться на "*".
# userid        - является доступным в /etc/passwd пользователем, под
#                 которым требуется запустить ту или иную программу. Можно
#                 поставить "-" (прочерк) и сохранить за программой запуск с
#                 привилегией root (используется только для /bin/login).
# utmp_entry    - будет показываться при вводе команды "who". Для /bin/login
#                 обязательно нужно указать "-", при установке "@" будет
#                 подразумевать ввод имени с максимальной длинной в 8
#                 символов.
# login_program - ну и сама программа, которая будет запускаться с
#                 агрументами, которые указываются в [arguments]. "@"
#                 заменяется на пользовательское имя. Смею заметить, что
#                 отсутствие данного символа крайне нежелательно, ибо будет
#                 неизвестно, какое имя ввел пользователь.
/FIDO/  fido    fido    /usr/local/bin/bforce @

#
=== login.config ===

На этом настройки программы закончены и осталось только научиться правильно
загружать mgetty. Заметил, что отсутствие данного шага вполне
распространенная ошибка, связанная с нежеланием читать
документацию.

Теперь осталось прописать запуск mgetty в конфигурационном файле, который
отвечает за настройку всех портов в системе, начиная с виртуальных консолей,
серийных портов и заканчивая псевдо-терминалами. Данные файлы отличаются
названием и синтаксисом в Linux и FreeBSD. И начну я с описания данного
файла, относительно операционной системе, разработанной в недрах Института
Беркли.
FreeBSD держит весь список доступных портов в файле /etc/ttys. Рассмотрим
небольшой пример синтаксиса описания серийного порта на примере, взятом из
Настольной Книги. Я помещу сюда перевод отрывка главы 17.3.2.1, описыващий
настройку:

> ttyd1(1)  "/usr/libexec/getty std.38400"(2)  wy50(3)  on(4)  insecure(5)
> ttyd5   "/usr/libexec/getty std.19200"  vt100  on  insecure
>
>
>(1)
>       Первое поле, в основном, указывает название специального файла
>       терминала, как он отображается в /dev.
>(2)
>       Второе поле является командой запуска для данной строчки, которой
>       обычно бывает getty(8). getty инициализирует и открывает
>       строку, устанавливая скорость, место для указания пользовательского
>       имени и только после этого запускает программу login(1).
>
>       Программа getty поддерживает один (опциональный) параметр на этой
>       коммандной строке, тип getty. Тип getty настраивается
>       характеристиками в строке терминала, такие как bps rate и parity.
>       Программа читает данные характеристики из файла /etc/gettytab.
>
>       Файл /etc/gettytab содержит некоторое количество строк, описывающих
>       как новые, так и старые терминалы. В всяком случае, все строки,
>       начинающиеся с std будут работать для аппаратных терминалах. Данные
>       строки игнорируются parity. Эти std для каждого bps rate, начиная с
>       110 и заканчивая 115200. Конечно, вы можете добавить свои строки в
>       этот файл. Подробную информацию можно найти в мануале gettytab(5).
>
>       После установки типа getty в файле /etc/ttys, проверьте
> правильность
>       коммуникационных настроек по совпадению терминала.
>
>       Например, Wyse-50 не использует parity и соединяется на 38400 bps.
>       286 PC не использует parity и соединяется на 19200 bps.
>
>(3)
>       Третий пункт строки обозначает тип терминала, обычно используемый
>       для соединения на этой tty-строке. Для диалапных портов обычно
>       указывается тип unknown или dialup, хотя можно использовать любой
> из
>       типов терминалов и программного обеспечения. Для аппаратных
>       терминалов, тип терминала не изменяется, так что вы можете указать
>       тип настоящего терминала из termcap(5) файла базы данных этого
> поля.
>
>       Например, Wyse-50 использует тип настоящего терминала, до тех пор,
>       пока запущен 286 PC, будет устанавливать жмулирование VT-100.
>
>(4)
>       Четвертое поле строки указывается, если следует открыть порт.
>       При указании там 'on', будет запускаться программа из второго поля
>       строки, getty. Если вы укажете 'off', то это просто отключит любой
>       доступ к порту.
>
>(5)
>       И последняя часть строки отвечает за безопасность порта. Пометив
>       порт, как secure, вы, тем самым, разрешите доступ к этому терминалу
>       пользователем root (или какого другого акаунта, имеющей ID равный
>       0). Insecure порты запрещают доступ к ним root. На таком порту
> юзеры
>       должны входить с непривилегированных аккаунтов и только потом
>       использовать su(1) или похожий механизм доступа к привилегиям
>       суперпользователя.
>
>       Крайне рекомендуется использовать 'insecure' для всех терминалов,
>       то создаст впечатление закрытых дверей. Это очень просто - войти и
>       пользоваться su, если нужны суперпользовательские привилегии.

Теперь вам остается только прописать свою строку в /etc/ttys для запуска
mgetty. Эта строка выглядит следующим образом:
=== /etc/ttys ===
cuaa1   "/usr/local/sbin/mgetty"        unknown  on  insecure
=== /etc/ttys ===

Теперь перейдем к описанию тонкостей настройки запуска mgetty под Linux.
Так же как и выше, я начну с описание предназначения файла /etc/inittab.
С последующим разбором синтаксиса строк и примером строки запуска программы,
отвечающей за ответ на входящие телефонные звонки.
Как и в случае с /etc/ttys, я помещу перевод отрывка мануала
inittab(5):

>INITTAB(5)     Linux System Administrator's Manual     INITTAB(5)
>
>НАЗВАНИЕ
>       inittab - формат файла inittab, используемый sysv-совместимым
>       процессом инициализации
>
>ОПИСАНИЕ
>       Файл inittab описывает, какие процессы запускаются при загрузке и в
>       процессе выполнения соответствующих операций (напр.,
>       /etc/init.d/boot, /etc/init.d/rc, gettys...). Init(8) различает
>       многочисленные runlevel'ы, каждый из которых может иметь свой
>       свобственный загруженный процесс. Правильными runlevel'ами являются
>       0-6, плюс A, B, и C для строк ondemand. Сама строка, вводимая в
>       файл inittab имеет следующий формат:
>
>              id:runlevels:action:process
>
>       Строки, начинающиеся с '#' игнорируются.
>
>       id      уникальная последовательность 1-4 символов, которые
>               идентифицируют строку в inittab (для sysvinit,
>               скомпилированный с библиотекой  5.2.18 или библиотекой
>               a.out, ограничение в 2 символа).
>
>               Note: Для getty или других процессов логина, полю id
> следует
>               быть tty-суффиксом, сообщающим tty, напр., 1 для tty1.
> Хотя,
>               доступ к аккаунту может не корректно работать.
>
>       runlevels
>               списки runlevel'ов, для которых следует запускать указанное
>               действие.
>
>       action  описывают, какое действие следует выполнить
>
>       process
>               указывает запускаемый процесс. Если поле процесса
> начинается
>               с символа "+", init не будет вводить utmp и wtmp аккаунты
>               для данного процесса. Это надо для getty, которые
>               настаивают на своем владении utmp/wtmp. Так же, это
> является
>               исторической ошибкой.
>
>       Поле runlevels может содержать различные символы для различных
>       runlevel'ов. Например, 123 указывает на то, что процесс будет
>       загружаться в runlevel'ах 1, 2 и 3. Runlevel'ы для ondemand могут
>       содержать A, B и C. В sysinit, boot и bootwait любые runlevel'ы
>       игнорируются.
>
>       При изменении системного runlevel, любые запущенные процессы,
>       которые не указаны в новом runlevel, будут убиты; в начале с
>       SIGTERM, потом с SIGKILL.
>
>       Доступные действия для поля action:
>
>       respawn
>               Процесс будет загружаться сразу же после прекращения работы
>               (напр., getty).
>
>       wait
>               Процесс будет загружен однажды, когда будет введен
>               соответствующий runlevel, и init будет ждать для
> прекращения
>               его работы.
>
>       once    Процесс загрузится один раз при вводе соответствующего
>               runlevel.
>
>       boot    Процесс будет выполнятся при загрузке системы. Поле
> runlevel
>               игнорируется.
>
>       bootwait
>               Процесс будет выполняться при загрузке системы, до тех пор,
>               init будет ждать его отлючения (напр., /etc/rc). Runlevel'ы
>               игнорируются.
>
>       off     Ничего не делает.
>
>       ondemand
>               Процесс, помеченный как ondemand, будет запускаться, когда
>               будет вызываться runlevel, соответствующий ondemand. К тому
>               же, неизмененные runlevel не будут встречаться (ondemand
>               runlevel'ы: 'A', 'B' и 'C').
>
>       initdefault
>               Данное действие указывает runlevel, который следует ввести
>               после загрузки системы. Если отсутствует, то init спросить
>               об этом runlevel в консоли. Поле process игнорируется.
>
>       sysinit
>               Процесс будет запущен при загрузке системы. Но запущен
> перед
>               boot или bootwait строками. Поле runlevels игнорируется.

Данного отрывка мануала должно хватит на то, чтобы дать понять как и почему
загрузка mgetty прописывается в /etc/inittab именно как:
=== /etc/inittab ===
S1:235:respawn:/usr/local/sbin/mgetty /dev/ttyS1 -D -i /etc/issue.net
=== /etc/inittab ===

Следует отметить, что ключи запуска mgetty могут так же варьироваться. Но
обязательным остается только первый, который указывает порт, на котором
висит загруженная программа (в данном случае это /dev/ttyS1).

После этого можно или перезагрузиться, или загрузить мгетти вручную и
перезагрузить терминалы:

1. root@phobos ~:$ mgetty
2. root@phobos ~:$ kill -HUP 1

(ради заметки: перезагрузку можно заменить так же командой init q, которая
перезагружает только inittab.) </p>
В итоге, при запуске из коммандной строки команды 'ps -axww|grep mgetty'
увидеть что-либо наподобие следующего:
(Linux)   2398   ?   S      0:00 /sbin/mgetty -x 3 ttyS1
(FreeBSD) 14631  ??  S      0:00.10 /usr/local/sbin/mgetty cuaa1


########
############
##
## НАСТРОЙКА ФИДОШНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
##
#
#

Основую проблему настройки я осветил, так что не вижу необходимости
описывать с такой же тщательностью настройки тоссера, мейлера и редактора
почты. Единственное, что не следует забывать - соответствие прав
доступа.

Исторически сложилось, что фидошное программное обеспечние базируется в
/var/spool/ftn/. В данной директории может находится следующая иерархия
поддиректорий:
drwxr-x---   2 fido  fido      512  9 дек 00:01 announce
drwxr-x---   2 fido  fido     1024 23 ноя 10:53 bforce
drwxr-x---   2 fido  fido      512  9 дек 00:26 flags
drwxr-x---   4 fido  fido      512  9 дек 00:25 inbound
drwxrwx---   2 fido  fido      512  2 ноя 14:58 inbound.loc
drwxr-x---   2 fido  fido      512  9 дек 00:25 inbound.tmp
drwxr-x---   3 fido  fido     1024 21 ноя 20:04 inbound.unp
drwxr-x---   3 fido  fido     5120  8 дек 12:31 msgbase
drwxr-x---  11 fido  fido      512 11 ноя 13:04 netmail
drwxrwx---   2 fido  fido      512  1 дек 01:57 nodelist
drwxr-x---   6 fido  fido     1024  9 дек 00:28 outbound
drwxr-x---   2 fido  fido      512  9 дек 00:25 outbound.tmp
drwxr-x---   2 fido  fido      512  8 дек 12:02 passthrough
Не вижу смысла описывать названия и предназначения вышеуказанных
директорий.

При компиляции и установке мейлера, тоссера и редактора, бинарные файлы
переносятся в /usr/local/bin/, а конфигурационные файлы в /etc/fido/, или в
/etc/ftn/, или в /usr/local/etc/. Все зависит от личных предпочтений автора
программ и ваших предпочтений.


########
############
##
## БЛАГОДАРНОСТИ
##
#
#

Выражаю благодарность подписчикам эхоконференции ru.unix.ftn. За их мнения,
вопросы, дополнения и предложения.


########
############
##
## ПРИЛОЖЕНИЕ A: FAQ ПО НАСТРОЙКЕ MGETTY
##
#
#

Цель приложения - уберечь вас от наступания на грабли, которые уже
оприходовали своими лбами другие. А так же небольшой перечень вопросов и
ответов, связанный с настройкой mgetty. Если у вас возник вопрос или
появилась проблема, которая не описана ни здесь, ни по тексту -
пишите.

>Вопрос 1.
Мгетти собрана с указанием нужных флагов. Загружается и ждет входящего. При
звонке, она отвечает на него и идет на соединение, но тут возникает что-то
такое, и она просто сбрасывает звоняещего. Вот лог одного из соединений:

 12/12 03:57:07 yS1  waiting...
 12/12 03:57:32 yS1  wfr: waiting for `RING''
 12/12 03:57:32 yS1  send: ATA[0d]
 12/12 03:57:32 yS1  waiting for `CONNECT'' ** found **
 12/12 03:57:46 yS1  send:
 12/12 03:57:46 yS1  waiting for `_'' ** found **
 12/12 03:57:47 yS1  login: '/etc/mgetty+sendfax/login.config' ignored,
                wrong permissions. Must be owned by 'root' and have mode
                '0600': Invalid argument
 12/12 03:57:47 ##### data dev=ttyS1, pid=2794, caller='none',
                conn='31200/ARQ/V34/LAPM/V42BIS', name='', cmd='/bin/login',
                user='?**EMSI_INQC816'

(Для удобства чтения лога, некоторые строки перенесены и
отформатированы)</p>

>Ответ 1.
Да. Все условия компиляции mgetty соблюдены. Но в силу некотрых причин,
конфигурационный файл login.config не получил нужных прав доступа, о чем
программа и сообщаети в лог-файл.
В данном случае нужно самим дать требуемые права доступа для соблюдения
уровня безопасности, присущий всем UNIX-системам.
Следует ввести следующие команды:

root@phobos ~:$ chown -R root:root ($PATH)/mgetty+sendfax/
root@phobos ~:$ chmod 0600 ($PATH)/mgetty+sendfax/login.config

Для удобства я заменил полный путь до конфигурационных файлов одной
переменной. Под Linux следует заменить переменную ($PATH) на путь /etc,
следовательно, строка примет вид /etc/mgetty+sendfax/.
Во FreeBSD замените переменную на /usr/local/etc. И строка будет выглядеть,
как /usr/local/etc/mgetty+sendfax/.
Теперь немного подробней остановимся на коммандах. Как вы знаете, все
дистрибутивы Линукса имеют поддержку страниц онлайновой помощи, их еще
называют "мануалы", в которых содержится полная информация об использовании
того или иного программного обеспечения. Поэтому, набрав man chown или man
chmod, вы получите исчерпывающую информацию о всех ключах и переменных
данных команд.
Первой командой мы присваиваем всей указанной директории, с помещенными в
нее файлами и поддиректориями (если есть. Еще это называется "рекурсия"),
права доступа для пользователя root и группы root (во FreeBSD, естественно,
такой группы нет и следует заменить ее на wheel).</p>
Вторая команда устанавливает права доступа на указанный файл. В данном
случае - права на чтение и запись _только для  пользователя_ (root).
Подробней о всех ключах можно узнать из мануала, как я и говорил
выше.


>Вопрос 2.
В каких дистрибутивах mgetty находится уже в готовом пакете и
скомпилированная с нужным ключом (-DFIDO)?

>Ответ 2.
Вопрос, конечно, интересный и на него нельзя ответить целиком и сразу. Ибо
многие разработчики и майнтэйнеры пакетов могут менять свои мнения и взгляды
на тот или иной пакет. Поэтому советую всегда компилировать программы (не
только mgetty) самостоятельно.</p>
Известно, что в дистрибутивах Debian, ASP Linux и ALT Linux Master
собирают пакет mgetty с ключом -DFIDO.
В Red Hat и Mandrake Linux следует скомпилирвать программу самостоятльно,
для работы с фидо-мейлерами. В Slackware Linux и FreeBSD эта программа
отсутствует в официальной поставке дистрибутива. Поэтому вам придется так же,
как и в случае с Mandrake компилировать самостоятельно.
Хочется заметить одну интересную вещь: от версии к версии в дистрибутиве
нередко меняются те или иные маинтейнеры пакетов. И нередко каждый из них
собирает прграмму так, как хочется ему. Допустим, в ASP Linux 7.3 мгетти
скомпилирована с опцией -DFIDO, а в ASP Linux 9.0 уже нет. Поэтому советую
пользоваться способом, который предложил Vitaly Mayatskih (2:5002/79.28):
Наберите strings Which mgetty | grep EMSI и если будут какие-либо признаки
EMSI, значит ваша программа скомпилирована так, как нужно.


=
Данный документ находится на стадии редактирования и корректировки.
Учитываются все вопросы, пожелания и исправления.
===</p>
author: vadim s. sabinich [2:5070/264@fidonet.org] <mef[x]ats32.ru>
Dec 17 16:22:06



//mef
--- np: Temnozor\Horizons...'2003\White Thunder Roars
 * Origin: fidosoft for point v2.1.5 (w32) compiled by mef (2:5070/665.264)
SEEN-BY: 46/50 50/12 203 400/567 814 450/186 1024 451/30 452/25 154 454/9
SEEN-BY: 461/1313 465/285 469/418 2432/260 4615/21 4635/1024 4646/15 5000/5000
SEEN-BY: 5001/100 5001 5002/50 63 79 5003/57 58 5010/2 53 5011/13 5012/23 30
SEEN-BY: 5012/46 5015/28 221 5019/31 5020/154 175 400 545 639 715 758 760 830
SEEN-BY: 5020/1042 1523 1604 1641 1982 2142 2238 2871 4441 5021/29 44 5022/128
SEEN-BY: 5025/3 750 5026/45 5027/12 5028/61 5029/60 5030/49 115 556 731 830
SEEN-BY: 5030/901 966 1063 1080 1900 2828 5031/47 50 70 5035/38 5036/10
SEEN-BY: 5040/47 5041/4 5042/12 13 21 5049/19 50 164 5054/1 8 9 37 45 50 63 67
SEEN-BY: 5054/89 5058/42 5059/9 37 5061/120 5062/1 10 5063/3 5064/7 5070/0 156
SEEN-BY: 5070/242 280 282 665 5071/22 5072/333 5077/70 5078/20 5080/80 111 147
SEEN-BY: 5080/239 1003 5083/21 5085/13 87 5090/108 113 5093/4 33 55 5095/20
SEEN-BY: 5096/18 5097/64 303 5099/11 6001/10 6028/1 6055/2 6083/12 6090/1
PATH: 5070/665 280 156 5080/1003 5020/4441 545 5054/1 37