Все о Linux. LinuxRSP.Ru
Альт Линукс СПТ 6.0 Сертификат ФСТЭК

Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

В GIMP наконец-то появилась обработка с точностью 16 и 32 разряда на канал

В одном окне: GIMP 2.8

Релиз OpenBSD 5.1

HTML-редактор: BlueGriffon 1.5

Релиз Xfce 4.10

Команда Chromium представила кластер для автоматизации выявления уязвимостей

В Microsoft Office 15 будет обеспечена поддержка формата ODF 1.2

Анонсирован новый свободный анимационный фильм Tube

Обновление ядра: Linux 3.0.29, 3.2.16, 3.3.3

Представлен OpenSSH 6.0

Релиз графического редактора Pinta 1.2, претендующего на роль аналога Paint.NET

Вышел Firefox 12

Google прекращает поддержку Linux-версии приложения Picasa

Эмулятор приставок: Mednafen 0.9.21-wip

Линус Торвальдс получил премию Millennium Technology Prize 2012

Canonical не заинтересована в участии в разработке ядра Linux

Распределенные вычисления: BOINC 7.0

Google

 Новые статьи :

Передача снапшота ZFS по сети

Правила хорошего тона: SSH

Некоторые рассуждения о защите от ddos на примере защиты от SSL denial of service attack

Быстрый проброс портов на шлюзе во внутреннюю сеть или на другой хост. Быстро NAT'им порты. rinetd.

NAT'им отдельные порты или "а что делать, если мой веб-сервер внезапно переехал на другую машину". Проброс портов в локалке на шлюзе наружу.

Как справляться с запланированной недоступностью веб-сайта

Архитектура Google 2011

Мониторинг Nginx с помощью MRTG

Решение проблем при использовании "1c предприятие" 8.2 в Linux

25 правил .htaccess, которые должен знать каждый web-разработчик

Централизованное резервное копирование данных Windows и *nix серверов средствами Bacula

Краткое руководство по GNOME Shell в Ubuntu 11.10

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки

   Дистрибутивы и атрибутика



DeveloperWorks Россия





Rambler's Top100


 
 

HOWTO : fidonet software for unix

[ index ]

Часть четвертая, программы
filefix

Существуют различные версии filefix'ов : Здесь я опишу настройку первых двух из них. Первоначально я использовал filefix by Serg Oskin, с модификациями by Alex Mansurov (я его выбрал из-за поддержки files.bbs ;), но после некоторого периода эксплуатации я отказался от него и перешел на gtic by Yuri Kuzmenko.

filefix by Serg Oskin + ffix-plus by Alex Mansurov.

Берем с ftp://oskin.macomnet.ru/pub/linux/fido/ дистрибутивы filefix-1.8.3.tar.gz и ffix-plus.tgz, раскручиваем filefix-1.8.3.tar.gz в /usr/src/filefix-1.8.3, запускаем make. Если все скомпилировалось нормально, то в /usr/local/fidonet/etc/filefix копируем файлы config, Areas(.dist), Users(.dist), help.txt, а в /usr/local/fidonet/bin/filefix файлы crc32, alt2koi8, koi82alt, fromdos, areaqueue, filefix.
Если вы будете использовать filefix-plus by Alex Mansurov, то возьмите из его архива файлы config и filefix и замените ими аналогичные файлы : /usr/local/fidonet/etc/filefix/config и /usr/local/fidonet/bin/filefix/filefix.
Меняем для всех файлов пакета владельца на fido:fido, и начинаем править config (в основном просто корректируем пути) :
BinDir /usr/local/fidonet/bin/filefix
KoiToAlt /usr/local/fidonet/bin/filefix/koi82alt
AltToKoi /usr/local/fidonet/bin/filefix/alt2koi8
DosToUnix /usr/local/fidonet/bin/filefix/fromdos
Users /usr/local/fidonet/etc/filefix/Users
Areas /usr/local/fidonet/etc/filefix/Areas
IfConfig /usr/local/fidonet/etc/config
Queue /usr/local/fidonet/tmp/filefix/queue
LogFile /usr/local/fidonet/log/filefix.log
LockFile /usr/local/fidonet/tmp/filefix.lock
TicDir /usr/local/fidonet/tmp/filefix/tics
BadTic /usr/local/fidonet/tmp/filefix/bad
BadFile /usr/local/fidonet/tmp/filefix/bad
HelpFile /usr/local/fidonet/etc/filefix/help.txt
MailTo fido@domain.my
ANewsCommand /usr/local/news/bin/inews -h -S
ANewsgroups f99.notify
LastScan /usr/local/fidonet/tmp/filefix/filefix.scan

С config все.

Теперь описания файлэх и линков. Сохраните оригинальные файлы (Users.dist и Areas.dist) - вам пригодятся комментарии из них. В Areas оставьте первую секцию (default), остальные можно стереть, т.к. при тоссинге файлэх они сами создадутся (если для аплинка, с которого они пришли, в файле Users разрешен autocreate) :
Area default
Desc The new area
Group A
Path /var/spool/uucppublic
Exclude 'files.bbs' '.+\.desc'
Newfile /usr/local/fidonet/tmp/filefix/new_files
Mode 644
DupeCheck name

Путь /var/spool/uucppublic - тот же, что и указан в настройках ifmail'а как путь для freq's. В нем будут создаваться подкаталоги с файлэхами, типа /var/spool/uucppublic/NODEDIFF, и т.д. Не прописывайте Mode 444, filefix должен иметь права r/w на файлы в файлэхах. Если вы выписываете r/o файлэхи (NODEDIFF, R50ROUTE, etc.), то для них можно прописать ReadOnly 1, во избежание ;).
Правим конфиг Users :
2:5058/500  passwd UpLink  * +A
2:5058/99.1  passwd2 Home_Point  * +C +!


Переходим в /usr/local/fidonet/bin/filefix, правим сам filefix - путь к perl'у (/usr/bin/perl или /usr/local/bin/perl), и путь к конфигу :
$ConfigFile = "/usr/local/fidonet/etc/filefix/config";


Файлэхи обрабатываются в два прохода.
1. Для тоссинга файлэх запускается filefix -t (из-под пользователя fido), при этом файлэхи в inbound.pro обрабатываются и файлы переносятся в каталог /var/spool/uucppublic/ИМЯ_ФЭХИ/, а описания файлов - в файлы с расширением .desc, например :
$ ls -la /var/spool/uucppublic/XORNBOOK
total 433
drwxr-xr-x   2 fido  uucp     512  2 ноя 11:02 .
drwxrwxrwx  13 uucp  uucp     512  2 ноя 11:02 ..
-rw-r--r--   1 fido  uucp   12743  2 ноя 11:02 medic.dos
-rw-r--r--   1 fido  uucp      17  2 ноя 11:02 medic.dos.desc
-rw-r--r--   1 fido  uucp  413769  2 ноя 11:02 setup3.exe
-rw-r--r--   1 fido  uucp      18  2 ноя 11:02 setup3.exe.desc

2. Сразу после тоссинга можно запустить filefix -s, при этом те файлы, у которых есть "файлы-спутники" с расширением .desc заворачиваются на даунлинков (если они есть), и их описания перемещаются в files.bbs :
$ ls -la /var/spool/uucppublic/XORNBOOK
total 432
drwxr-xr-x   2 fido  uucp     512  2 ноя 11:09 .
drwxrwxrwx  13 uucp  uucp     512  2 ноя 11:02 ..
-rw-r--r--   1 fido  uucp      75  2 ноя 11:09 files.bbs
-rw-r--r--   1 fido  uucp   12743  2 ноя 11:02 medic.dos
-rw-r--r--   1 fido  uucp  413769  2 ноя 11:02 setup3.exe

Анонсы о новых файлэхах и файлах в них постятся в заданную эху (f99.notify)

Если вы раздаете файлэхи дальше, то вашим даунлинкам понадобится управлять подпиской через робота filefix. Для этого редактируем /etc/aliases, прописывая (в одну строчку) :
filefix:"|/usr/local/fidonet/bin/filefix/areaqueue /usr/local/fidonet/tmp/filefix/queue", fido
Можете прописать дополнительные адиасы для робота :
allfix: filefix
Здесь filefix (allfix) - имя, на которое будут адресовать письма ваши даунлинки, areaqueue - маленькая програмка, цель которой полученное письмо положить в каталог /usr/local/fidonet/tmp/filefix/queue, а ", fido" - это если вы хотите читать, что пишут вашему роботу ;)
Не забывайте после изменения /etc/aliases запускать newaliases.
areaqueue у меня принадлежит пользователю fido:fido с правами 6555:
-r-sr-sr-x  1 fido  fido   8192  1 ноя 16:43 areaqueue
Для проверки работоспособности areaqueue пишем письмо на имя filefix, например :
$ mail filefix
Subject: test
test
.
EOT

Если в /usr/local/fidonet/tmp/filefix/queue у вас появился файлик с этим содержимым - значит все работает. Если же в /var/log/maillog появляются сообщения от sendmail'а типа : "DSN: unknown mailer error 126, DSN: unknown mailer error 2" - значит вы сделали что-то не так.

Для тестирования можно использовать следующую схему : залогинимся как пользователь fido (su fido ;) - это позволит, во-первых запускать filefix в "родном" окружении, во-вторых проверить корректность установленных прав/владельцев на конфиги и каталоги. Пропишем пробного пользователя в Users (обратите внимание, чтобы в Имени_Фамилии пользователя не было пробелов), например :
2:5058/99.2  PASSWORD  Ivan_Petroff  *
А в /usr/local/fidonet/tmp/filefix/queue создадим файлик с именем 9911939901337 и содержимым :
To: filefix <filefix@f99.n5058.z2.fidonet.org>
From: Test_Point <Test_Point@p2.f99.n5058.z2.fidonet.org>
Subject: PASSWORD

%HELP
%LIST

Здесь в строчке с To: пишем имя робота и ваш адрес, в строчках From: и Subject: - адрес и пароль того фиктивного пойнта, что вы прописали в Users, после пустой строчки - команды (%HELP, %LIST, +area, etc.). Запустив filefix -m, смотрим filefix.log. Если там строчки вида :
Nov  31 23:28:08 filefix(mgr)[28949] Read config ok.
Nov  31 23:28:09 filefix(mgr)[28949] Read Users Ok.
Nov  31 23:28:09 filefix(mgr)[28949] Read Areas Ok.
Nov  31 23:28:09 filefix(mgr)[28949] Reply to 2:5058/99.2...
Nov  31 23:28:09 filefix(mgr)[28949] Processing %HELP...
Nov  31 23:28:09 filefix(mgr)[28949] Processing %LIST...

а на этого пойнта отложилось письмо с help'ом и списком файлэх - то все в порядке ;)
Если вы используете filefix-plus, то при пробных запусках лучше закомментарить строчки
#open (STDERR, ">>/dev/null");
#open (STDOUT, ">>/dev/null");

тогда вам будет видна диагностика filefix'а и perl'а в случае ошибок.
Если выдаются ошибки типа
Can't locate /usr/share/perl/errno.ph in @INC (did you run h2ph?) (@INC contains: /usr/libdata/perl/5.00503/mach /usr/libdata/perl/5.00503 /usr/local/lib/perl5/site_perl/5.005/i386-freebsd /usr/local/lib/perl5/site_perl/5.005 .) at ./filefix line 117.
то попробуйте последовать его совету и запустить h2ph. Прочитайте man h2ph, перейдите в /usr/include и запустите h2ph -r -l -d/usr/share/perl. (для FreeBSD 3.3)
Запускать filefix можно в различных вариантах : можно просто регулярно по cron'у, можно используя более "интеллектуальные" схемы - с использованием флагов, скриптов типа tossd, etc. Более подробно об этом рассказано в Части 5 - совместная работа.

gtic

Берем последнюю версию с ftp://ftp.cracksoft.kiev.ua/pub/linux/gtic/, например gtic-1.3b.tar.gz, распаковываем, начинаем подготовку к компиляции.
Редактируем CONFIG :
CONFIG = "/usr/local/fidonet/etc/filefix/config"
CONFIGDIR = "/usr/local/fidonet/etc/filefix"
BINDIR = "/usr/local/fidonet/bin/filefix"
OWNER = fido
GROUP = fido
OPTS = -DSECURE_CONFIG
(естественно, к моменту установки, каталоги etc/filefix и bin/filefix были очищены от предыдущего filefix'а).
Компилируем и устанавливаем : make clean ; make all ; make install
Если при make install выскочит два раза сообщение "chown: root: illegal group name" - не обращайте внимания.
В результате у вас проинсталлируются файлы :
$ ls -la /usr/local/fidonet/etc/filefix
total 16
drwxr-xr-x 3 fido fido 512 15 фев 11:33 .
drwxr-xr-x 4 fido fido 512 17 ноя 15:14 ..
-rw-r--r-- 1 fido fido 548 15 фев 11:33 areagroups
-rw-r--r-- 1 fido fido 384 15 фев 11:33 areagroups.help
-rw-r--r-- 1 fido fido 1396 15 фев 11:33 areas
-rw-r--r-- 1 fido fido 913 15 фев 11:33 areas.help
-rw-r--r-- 1 fido fido 68 15 фев 11:33 autohatch.conf
-rw-r--r-- 1 fido fido 3071 15 фев 11:33 config
-rw-r--r-- 1 fido fido 483 15 фев 11:33 domains
-rw-r--r-- 1 fido fido 764 15 фев 11:33 help
-rw------- 1 fido fido 785 15 фев 11:33 users
-rw-r--r-- 1 fido fido 450 15 фев 11:33 users.help
$ ls -la /usr/local/fidonet/bin/filefix
total 278
drwxr-xr-x 3 fido fido 512 15 фев 11:36 .
drwxr-xr-x 5 fido fido 512 15 фев 11:36 ..
---s--x--- 1 fido fido 263052 15 фев 11:36 gtic
-rwxr-xr-x 1 root fido 106 15 фев 11:36 gtic.announce
-rwxr-xr-x 1 root fido 997 15 фев 11:36 gtic.autohatch
-rwxr-xr-x 1 root fido 713 15 фев 11:36 gtic.create_area
Обратите внимание на владельца каталогов etc/filefix, bin/filefix и файлов в них.

Переходим в /usr/local/fidonet/etc/filefix, начинаем настройку.
Редактируем config :
address 2:5058/99
inbound /usr/local/fidonet/inbound.pro
domains_file /usr/local/fidonet/etc/filefix/domains
outbound_mode 640
users_file /usr/local/fidonet/etc/filefix/users
areas_file /usr/local/fidonet/etc/filefix/areas
areagroups_config /usr/local/fidonet/etc/filefix/areagroups
log_file /usr/local/fidonet/log/gtic.log
lock_file /usr/local/fidonet/tmp/gtic.lck
default_newfile /usr/local/fidonet/tmp/gtic.newfile
bad_dir /usr/local/fidonet/tmp/filefix/bad
bad_dir_mode 755
help_file /usr/local/fidonet/etc/filefix/help
announce_exec /usr/local/fidonet/bin/filefix/gtic.announce
newarea_exec /usr/local/fidonet/bin/filefix/gtic.create_area
response_exec /usr/sbin/sendmail -f$msg_from root
toss_badtic yes
# используйте здесь имя, отличное от filefix@ или allfix@
msg_from filefix-response@f99.n5058.z2.fidonet.org
make_hardlinks yes
add_point_seenby yes
newarea_group default
basepath /var/spool/uucppublic
msg_to fido

Редактируем areagroups, в простейшем случае :
default:options:
*:options:

Редактируем areas, прописывая существующие файлэхи (если они у вас есть) :
Area XORNBOOK
Description Orenburg : books
Group default
Path /var/spool/uucppublic/XORNBOOK
Links 2:5058/500 2:5058/99.1 !2:5058/99.2
Mode 644

Area NODEDIFF
Description FidoNet nodediffs
Group default
Path /var/spool/uucppublic/NODEDIFF
Links 2:5020/204.1000 !2:5058/500 !2:5058/99.1
Mode 644
Options readonly

Area 957PHONE
Description 2:5020/957 : Phone
Group default
Path /var/spool/uucppublic/957PHONE
Links 2:5020/0 2:5058/500
Mode 644
Options passthru
Обратите внимание : даже для passthru файлэх создается каталог (пустой ;)

Редактирем domains :
2 /usr/local/fidonet/outbound

Редактируем users :
# Этот линк имеет право автокриэйта фэх у меня, и на него же
# автоматом прокидываются все фэхи, создавшиеся от других линков
2:5058/500 PASSWORD * autocreate,auto_rw
# На домашнего пойнта фэхи кладутся на холд
2:5058/99.1 HOME * hold
# Аплинки
2:5020/0 JOKE1 * autocreate
2:5030/0 JOKE2 * autocreate
2:2/0 MEGAJOKE * autocreate,auto_rw,hold
С конфигами все.

Переходим в /usr/local/fidonet/bin/filefix
Редактируем gtic.announce, выберите вид аннонса - мылом и (или) в эху :
#!/bin/sh
#sendmail -f$msg_from root
/usr/local/news/bin/inews -f FileFix-Announce@f49.n5058.z2.fidonet.org -n f99.notify -t "New file announce"

Редактируем gtic.create_area :
Т.к. у меня от предыдущего filefix'а файлэхи создавались в каталогах, имена которых были в UPPER-case (типа /var/spool/uucppublic/NODEDIFF), то я строчку lowercase_name=`echo $1|tr A-Z a-z` исправил на lowercase_name=`echo $1|tr a-z A-Z`. По умолчанию, gtic извещает о создании новой фэхи сисопа нетмейлом. Я исправил это на анонс в эху, заменив строчку echo|mail -s "fileecho $1 autocreated by gtic" $SYSOP на printf "Filearea $1 created at 2:5058/99 by $2\n\n--- gtic 1.3b\n" | /usr/local/news/bin/inews -f FileFix-Announce@f99.n5058.z2.fidonet.org -n f99.notify -t "New filearea created"
(в одну строчку).

Возможности autohatch я не использовал, поэтому gtic.autohatch не трогал.

Для обработки файлэх запускайте gtic -t. Для получения справки по остальным командам (hatch) запустите gtic без параметров.

Для обработки запросов линков к gtic корректируем /etc/aliases :
allfix: filefix
filefix: "|/usr/local/fidonet/bin/filefix/gtic -m", fido

Не забывайте запускать newaliases после редактирования.

О совместной работе gtic с другими программами рассказано в главе совместная работа.
This is a part of "HOWTO : fidonet software for unix", http://howto.id.ru
Original of this document is located at http://howto.id.ru/filefix.html
Copyright (c) Vitaly Kuharev, 2:5058/49@fidonet, 1999-2000
Last updated : 14 apr 2000

      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2012 LinuxRSP


Реклама: