Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

UUCP - Unix to Unix Copy

Система пересылки файлов по телефону.

Если uucp правильно сконфигурирована, то ее использование выглядит примерно так:

uucp -r moj_fajl 'pulsar!fajl_tam'

перешлет moj_fajl на удаленную машину pulsar. Хотя, скорее всего не сделает, из-за ограничений на права доступа. А, впрочем, такая команда скорее всего сработает:

uucp -r moj_fajl 'pulsar!~'

через некоторое время этот файл вы сможете обнаружить на машине pulsar в каталоге

/usr/spool/uucppublic

в этот каталог разрешено копирование с удаленных машин, для него используется специальное обозначение: "~"

Пусть вас не удивляет, что в команде uucp использовались одинарные кавычки. Они нужны, чтобы заэкранировать "!" и "~" от вашего командного интерпретатора ksh или bash. Ключ -r в команде uucp нужен, чтобы НЕ ЗАСТАВЛЯТЬ нашу машину немедленно начинать звонить на pulsar. Она сама позвонит, в предусмотренное для этого время.

uucp поддерживается на двух уровнях:

  1. Пользовательский. Это команды uucp - постановка файла в очередь на удаленную пересылку, и uux - постановка в очередь на пересылку удаленной команды.
  2. Системный. Периодически, автоматически запускается демон uucico - (UUCP Copy in Copy out). Он созванивается с удаленными машинами по телефону. На удаленной машине также запускается "встречный" демон uucico. Наш демон "проталкивает" на удаленную машину все файлы, которые к этому времени накопились в очереди на отправку туда. После этого он "принимает" файлы, которые приготовила для нас удаленная машина (их к нам проталкивает "встречный" демон uucico, а наш принимает). После этого сеанс uucico заканчивается. А пользователи обнаруживают, что у них возникли новые файлы.

Предполагается, что системные администраторы на нашей и на удаленной машине не забыли правильно описать и проконфигурировать систему UUCP.

Конфигурация нашей машины как UUCP клиента.

После этого наша машина сможет звонить на удаленные машины и посылать/забирать оттуда файлы. Для этого мы должны задать:

  1. Наше собственное UUCP имя.
  2. Имя(имена) удаленной(ых) UUCP системы.
  3. Телефонный номер(а), по которому нужно туда звонить.
  4. Login и пароль, которые выделены там для нашего uucp-account'а.
  5. Порт, к которому подключен наш модем.
  6. Наборщик - описание "AT" команд для управления нашим модемом.

Эти данные задаются в нескольких конфигурационных файлах, которые должны лежать в каталоге /etc/uucp (или /usr/lib/uucp , или /usr/lib/uucp/taylor_config ) (или в каком-нибудь другом, см. man uucp для более точной информации). Это файлы:


Config          #   задает имя нашей машины (и многое другое) ;

Systems         #   описывает удаленные uucp-системы: имя,  но-

                #   мер телефона, uucp-logname, uucp-passwd ;

Devices         #   порты, к которым подключены модемы.

Dialers         #   описывает  модемы-наборщики (систему AT-ко-

                #   манд).

(А в Linux они называются: config, sys, port, dial)

Итак, представим классический случай. У вас один Hayes-совместимый модем V32/V42bis на 14400 baud (GVC, ZyXEL, US-Robotics...), подключенный к последовательному порту /dev/modem (если у вас порт называется /dev/contty03, вам никто не мешает сделать символический линк ln -s /dev/contty03 /dev/modem не так ли ?). Имя вашего узла fedf-uru.

ВНИМАНИЕ. На большинстве Unix-ов выделены раздельные специальные файлы для одного и того-же порта: терминальная линия (для подключения терминала или модема, НА который будут звонить - используется для getty или ttymon), и линия с модемным управлением, на выход - например, чтоб звонить НАРУЖУ модемом. Эти специальные файлы и называются по разному, например:


SunOS:   /dev/ttyy01   IN, /dev/ttyz01  OUT

Linux:   /dev/ttyS1    IN, /dev/cua1    OUT

ISC:     /dev/ttyFD01  IN, /dev/ttyFM01 OUT

SVR4/88: /dev/contty00 IN, /dev/??????? OUT

На самом деле все не совсем так. Цитирую Linux-Serial-HOWTO:


> There has been some discussion  on  the  merits of /dev/mouse

> and /dev/modem. I strongly discourage the use of these links.

> In particular,  if you are planning  on using your  modem for

> dialin you will run into problems because the lock files will

> not work correctly if  you  use /dev/modem. Also, Taylor UUCP

> does not support symlinks either. 
Однако uugetty позволяет корректно отрабатывать эту ситуацию. См. параметр ALTLOCK в /etc/defaults/getty файле.

Вам надо подключиться к двум uucp-узлам:

  1. Узел Релком, имя узла kiae, телефоны: 9469984, 9469994. Вы зарегистрированы там под именем/паролем uufedurp/ABCd8
  2. Ваше московское отделение, имя узла fedfond, телефон 095- 125-7623. Вы зарегистрированы там под именем/паролем uufedurp/KLmn10
В каталоге /etc/uucp редактируем файлы Systems, Devices, Dialers

Systems: Удаленные машины



kiae Any modem1 19200 946-9984 "" \n\r\d\r\d\r ogin:-BREAK-ogin:

                                   uufedurp ssword: ABCd8

fedfond Any modem1 19200 8w095-125-7623 "" \n\r ogin:-BREAK-ogin:

                                   uufedurp ssword: KLmn10

Devices: Описание портов



modem1 contty03 - 19200 gvc1440

Dialers: Команды модемов



gvc1440 =,-, "" \M\dATZ\r\c OK\r \EATDP\T\r\c CONNECT \m\c

А дальше идет описание Taylor-uucp. Проблема в том, что в стандартной поставке SVR4/88 _нет_ Taylor-uucp, а есть только т.н. HoneyDanBer-uucp, он же BNU (Basic Networking Utilities). Taylor новее и гибче, к тому же поддерживает два формата конфигурационных файлов - традиционный (Config, Systems, Devices, Dialers, ...) и свой (config, sys, port, dial, ...). Есть конвертер туда-обратно. В Linuxе Taylor-uucp скомпилирован так, чтобы сначала искать Taylor-конфигурацию в /usr/lib/uucp/taylor_config/, если там ничего нет - искать HDB-конфигурацию в /usr/lib/uucp/hdb_config/. IMHO главный изъян HDB - невозможность указывать альтернативные номера телефонов.

Если вы используете не устаревший BNU-uucp, а Taylor-uucp 1.05: В каталоге /usr/lib/uucp/taylor_config создаем файлы config, sys, port, dial следующего содержания:

config:


 

hostname     fedf-uru        #  Наше собственное имя

sys: Удаленные машины



system kiae          # Узел Релком ############################

time Any

port  modem1         # Имя описания порта в файле port

speed 38400

chat  "" \r\d ogin:-BREAK-ogin: uufedurp ssword: ABCd8

phone 946-9984

alternate            # Второй телефонный номер.

phone  946-9994



system fedfond       # Московское отделение ##################

time Any

port  modem1         # Имя описания порта в файле port

speed 38400

chat  "" \n\r ogin:-BREAK-ogin: uufedurp ssword: KLmn10

phone 8=095-125-7623

port: Описание портов



port    modem1       # Обозначение порта  из файла   sys

type    modem

device  /dev/modem

speed   38400

dialer  gvc1440      # Имя наборщика-модема в файле  dial

dial: Команды модемов



dialer     gvc1440   # Обозначение наборщика из файла  port



# Строка инициализации модема.

# Вместо \T будет подставлен телефонный номер

chat       "" ATZ OK ATH0E0Q0 OK ATDP\T CONNECT

# ATZ - загрузить profile 0

# ATH0 - повесить трубку

# ATE0 - no echo

# ATQ0 - выводить код возврата



chat-fail  BUSY                # Воспринимать как ошибку набора

chat-fail  ERROR

chat-fail  NO\sCARRIER

chat-fail  NO\sDIALTONE

Все. Клиентская часть UUCP сконфигурирована. Теперь, чтобы "протолкнуть" посланные файлы, достаточно периодически выполнять команды:


uucico -s kiae

uucico -s fedfond

А еще лучше, добавить эти команды в crontab, чтобы они выполнялись автоматически, по несколько раз в сутки.

Конфигурирование UUCP с использованием sysadm.

Все вышеперечисленные настройки можно сделать, используя утилиту системного администратора sysadm. Надо войти в меню network_services / basic_network

Конфигурирование серверной части UUCP.

Итак, мы уже можем звонить на чужие машины, и пересылать на них файлы. Теперь нужно сделать, чтобы чужие машины (клиенты) могли звонить нам. Для этого нужно:

  1. Иметь описание звонящей нам uucp-системы в файле Systems - для клиента такое же, как и для сервера.
  2. Проверить права доступа для клиента в файле Permitions
  3. Завести для него специальный uucp-login
  4. Убедиться, что модем стоит в "Auto-answer" режиме, и на порт /dev/modem запущена программа getty (или ttymon), позволяющая логиниться по телефону на порт /dev/modem
  1. Описание добавляется в файл Systems, (номер телефона и название порта не обязательны), если мы сами не собираемся туда звонить, но я бы посоветовал их вписать, для единообразия.
  2. В файле /etc/passwd завести строчку вида:

    uupetrov:x:1002:14:UU Petrov:/var/spool/uucp:/usr/lib/uucp/uucico

    выполнить команды:

    
    pwconv
    
    passwd uupetrov
    
    
  3. Любой терминальной программой "войти" в модемный порт и выполнить команды
    
    atz0         # Загрузить пользовательский profile 0
    
    ats0=1       # Регистр0=1 - снимать трубку после 1-го звонка
    
    at&w0        # Сохранить текущий setup в profile 0
    
    at&y0        # Чтобы при включении питания загружался профайл 0
    
    
    
    # at&f       # загрузить заводские установки, если вы запутались
    
                 # с профайлами, можно сделать модему "reset"
    
    

    Ввиду отсутствия коммуникационных программ в SVR4 (за исключением сумасшедшего "cu"), используйте "echo".

    
         echo atz0   > /dev/modem
    
         echo ats0=0 > /dev/modem
    
         echo at&w0  > /dev/modem         # и так далее
    
    
    А еще лучше gold, там есть режим прямой связи с любым портом.
  4. В файле /etc/inittab иметь строчку вида:

    c3:234:respawn:/usr/lib/saf/ttymon -g -d /dev/modem -l contty

Что где лежит в системе UUCP.

  • /usr/bin/uucp - переслать файлы с/на удаленную uucp-систему
  • /usr/bin/uux - выполнить команду на удаленной uucp-системе
  • /usr/bin/uustat - статистика по выполненным пересылкам
  • /usr/lib/uucp/uu* - системные утилиты UUCP
  • /etc/uucp - каталог конфигурационных файлов UUCP
  • /usr/lib/uucp/taylor_config - конфигурация UUCP в Linux
  • /usr/lib/uucp/ - конфигурация UUCP в других системах
  • /var/spool/uucppublic - каталог в который можно пересылать файлы с удаленных машин
  • /usr/spool/mqueue - очереди отправляемой электронной почты
  • /usr/ucblib/mqueue - или здесь эта очередь ?
  • /var/spool/uucp/"машина" - очередь файлов на отправку на "машину"
  • /var/spool/uucp/.Log - статистика о работе uucp

Осталось настроить нашу электронную почту.

Если у вас самый простейший случай: вся ваша почта проходит через один "знающий" host, с которым вы соединены по uucp, то надо в файле /etc/sendmail.cf иметь такую строку:


. . .

# "Smart" relay host (may be null)

DSuucp-dom:kiae

. . .

В этом случае вся ваша внешняя почта (т.е. отправляемая за пределы вашей локальной сети) будет переправляться по uucp на uucp-узел "kiae" и дальнейшей ее доставкой будет озабочен именно kiae. Предполагается, что он успешно справится с этой задачей.

А еще чтобы было описание uucp-dom (ниже в том же файле). Кстати, чтобы всех окончательно запутать, sendmail.cf лежит вовсе не в /etc/, а в /usr/ucblib/.

Если у вас какой-либо другой случай - то это - тяжелый случай. Дерзайте, успехов вам!


# И надо сделать, чтоб сендмаил не отрезал 8-й бит у посылаемой почты

# Если sendmail8.x.x, то в sendmail.cf:

# strip message body to 7 bits on input?

O7False



# А еще бывает, что sendmail не знает, как правильно называется

# наша машина. Тогда мы пишем что-то в таком стиле:



Cwsystud.ras.ru

Cwserver.systud.ras.ru

Cwlocalhost

Проверка работоспособности и отладка конфигурации.

Для начала проверим, правильно ли подсоединен модем. Запускаем программу cu - эмулятор терминала.


   cu -l /dev/modem    # Или как там у вас этот порт называется

После этого вы переключитесь на работу со своим модемным портом. Все, что вы будете набирать с клавиатуры, будет перенаправляться в порт /dev/modem , все, что "приходит" с этого порта, будет рисоваться на вашем терминале. Попробуйте модемом набрать телефонный номер

   atdp100

Проверьте, правильно ли сконфигурирован "порт" модема и описание системы в файле Systems.

   cu pulsar

Проверьте права доступа к файлам /dev/modem, /dev/contty*. Должно быть (???):

 crw-rw----   1 root     uucp       ...         /dev/contty0

 crw-rw----   1 root     uucp       ...         /dev/modem

Запустите uucico с максимальным уровнем выдачи отладочной информации. Запускать надо из под пользователя uucp

   /usr/lib/uucp/uucico -r1 -x9 -f -s pulsar

   /usr/lib/uucp/uucico -x all -f -s kiae

А затем посмотрите на содержание файлов со статистикой uucp в каталоге /var/spool/uucp :

   .Admin/audit.local

   .Log/

   .Status/

   ERRLOG

   LOGFILE

   SYSLOG

Например, такой командой

   tail -f /var/uucp/.Admin/audit.local &

   tail -f /var/uucp/.Log/uucico/kiae

По результатам переписки.

    
    Dmitry Mayorov Compulsory Health Insurance Fund
    
    Phone: +7 (812) 112-3517                  St. Petersburg, Russia
    
    > Навешал фильтров на sendmail, rmail,
    
    > а вот это непонятно. Или они научились все из кои8 в исо переворачивать на лету ?
    
    
    
    Нет, конечно,  потребовалось  лечить.  Дело сильно упростило то
    
    обстоятельство, что  внутри  сети везде ISO. Перекодировать по-
    
    этому мне надо только то, что идет через UUCP, то  бишь наружу.
    
    Для этого пришлось:
    
    
    
    1. Поправить sendmail.cf:
    
    
    
    # RelCom UUCP - with ISO 8859-5 to KOI-8 translation
    
    Muucp-koi, P=/usr/local/bin/_uux, F=mDFMhu, S=52/31, R=21, M=100000,
    
                       ^^^^^^^^^^^^^^^^^^^ мой, см. ниже
    
               A=_uux - -r -a$f -gC $h!rmail ($u)
    
    
    
    2. Сделать /usr/local/bin/_uux из трех строк:
    
    #!/bin/sh
    
    PATH=:/usr/bin:/usr/local/bin:/usr/ucb:/bin:
    
    /usr/local/bin/iso-koi | /usr/bin/uux $*
    
    
    
    (iso-koi - понятно какой фильтр)
    
    
    
    Это все, на самом деле, весьма грязный hack - вряд ли стоит его
    
    включать в учебник. Оно, конечно,  работает,  но  вот  надо  по
    
    крайней  мере еще и правильный код возврата как-то обеспечить -
    
    с проверкой ошибок и прочими фенечками.
    
    
    
         Чтобы принимаемая почта из KOI превращалась в ISO, достаточно:
    
    
    
    1. Переименовать rmail в /usr/local/bin/__rmail;
    
    2. Сделать свой rmail, тоже из трех строчек:
    
    
    
    #!/bin/sh
    
    PATH=:/usr/bin:/usr/local/bin:/usr/ucb:/bin:
    
    /usr/local/bin/koi-iso | /usr/local/bin/__rmail $*
    
    
    
    Вышеуказанную экзекуцию  надо производить именно над rmail, по-
    
    тому что rbmail проверяет контрольные суммы.
    
    
    
    А вот rbmail в SVR4/88 совсем нет. Надо искать исходники, собирать...
    
    А RelCom (по крайней мере  мой  провайдер)  именно  его пользует. 
    
    Это  третья  причина  (после отсутствия Taylor-uucp и удобного 
    
    Mail-user агентa),  по которой  я  не  стал  поднимать
    
    uucp/e-mail на Motorolе.
    
    
    
    --
    
    Dmitry Mayorov Compulsory Health Insurance Fund
    
    Phone: +7 (812) 112-3517                 St. Petersburg, Russia
    
    

[Назад] [Содержание] [Вперед]
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...