@ Карта сайта News Автора!

Bog BOS: UUCP (Unix Unix Control Protocol)

Последние изменения:
2024.11.22: sysadmin: systemd-journald (централизованное хранение)
2024.11.11: sysadmin: Linux: пространства имён
2024.11.06: sysadmin: настройка TCP/IP в Linux: виртуальный интерфейс и виртуальный мост
2024.10.25: sysadmin: Linux VFS, атрибуты, расширенные атрибуты, ACL

Последнее изменение текста: 19980716
Скопировано с www.bog.pp.ru: 2024.11.23

Bog BOS: UUCP (Unix Unix Control Protocol)

Примечание. Здесь собраны тексты лекций, которые я читал то ли в 1994, то ли в 1995 (Motorola Unix System V/88 4.0), а также опыт практического использования UUCP в Solaris 2.5 (система остановлена в 1998 году). В настоящее время мы UUCP не используем и использовать не планируем. Чего и всем желаем :)

Basic Networking Utilities (BNU, он же Honey Dan Ber) - UUCP - постановка в пакет заданий на пересылку файлов и выполнение команд на удаленной системе.

Команды пользователя

Описывается версия BNU от 1983 (признак: /usr/lib/uucp/Systems или /etc/uucp/Systems). Все команды находятся в /usr/bin.

Принципы работы

Условия передачи файлов по цепочке

Работа UUCP с точки зрения администратора

По материалам Motorola Unix System V/88 4.0.

Все файлы в /etc/uucp и /var/spool/uucp д.б. с правами для uucp, а не root.

home для uucp: /usr/lib/uucp

Пользователь nuucp должен иметь в качестве командного процессора uucico.

Большинство административных программ лежит в /usr/lib/uucp (uucleanup, Uutry, uucheck).

Демоны:

Файлы

Процедура установки:

  1. Инсталяция BNU
  2. /etc/uucp/Permissions (LOGNAME=nuucp)
  3. /etc/uucp/Devconfig для uucp поверх tcp
    service=cu device=tcp push=ttcompat:tirdwr
    service=uucico device=tcp push=ttcompat:tirdwr
  4. /etc/uucp/Sysfiles лучше не трогать
  5. /etc/uucp/Limits лучше не трогать
  6. завести пользователя uucp и nuucp
    uucp:x:5:5:0000-uucp(0000):/usr/lib/uucp
    nuucp:x:10:10:0000uucp(0000):/var/spool/uucppublic:/usr/lib/uucp/uucico
    не забудь сказать pwconv

Обслуживание (командные файлы в /usr/lib/uucp,надо занести их вызов в cronroot)

Могут расти файлы: /usr/adm/sulog, /usr/lib/cron/log.

Отладка:

Протоколы передачи:

Анализ статистики

Самый свежий софт для анализа статистики UUCP, который я нашел, - это tua 4.0 (декабрь 1993). Источник, документация. Обрабатывает журналы как BNU, так и Taylor.

Установка:

  1. ./configure
  2. отредактировать Makefile
  3. отредактировать customize.h: ;
  4. tua.pcd (стоимость телефонных разговоров для разных стран): пока не знаю как это использовать, но default = "germany" как наиболее простой
  5. make
  6. make install (права надо иметь)
    1. tua /usr/local/bin
    2. doc/tua.info /usr/local/info/tua.info
    3. doc/tua.man /usr/local/man/man1/tua.1
    4. tua.pcd /usr/local/lib/tua.pcd

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

Разбор полетов:

Solaris 2.5

Пакет SUNWCnet 7.2 (SUNWbnur 11.5.1 + SUNWbnuu 11.5.1).

Демоны:

Демоны для crontab (образец в /usr/lib/uucp/uudemon.crontab):

Административные программы (/usr/lib/uucp, UID: uucp):

Программы для пользователя (/usr/bin, UID: любой):

База данных настройки (/etc/uucp). Она же используется для настройки PPP:

Рабочая область не /usr/spool/uucp[public], а /var/spool/uucp[public]

Для входных соединений в /etc/passwd д.б. пользователь nuucp или аналогичный, иначе его надо удалить:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico

Чтобы можно было делать входные соединения по TCP надо в /etc/inetd.conf:
uucp stream tcp nowait root /usr/sbin/in.uucpd in.uucpd
а в /etc/services (если используется NIS, то позаботиться о нем):
uucp 540/tcp uucpd

Чтобы можно было вызывать другие узлы по TCP надо в /etc/uucp/Systems ззанести:
имя-узла время TCP - доменное-имя ожидаем посылаем ...

Необходимо регулярно проверять размер /var/spool/uucppublic (может закрыть ее?) и почты для uucp (фильтровать?)

Формат журнала пересылок (/var/spool/uucp/.Admin/xferstats) немного другой:
имя_уд.системы!имя_пользователя Master/Slave время_записи_в_скобках (C(uucico)/U(uucp)/X(uux)/Q(uuxqt),pid,номер_передачи) имя_устройства_(для TCP_минус_в_квадратных_скобках) направление_(меньше_минус) длина_(не верю)═/ время_передачи secs, скорость bytes/sec

Поставил patch 104889-03 в надежде, что он не только решил проблему 2000 года, но и будет собирать правильную статистику в xferstat. Увы, число байт в пакете по-прежнему берется от балды :( Вычесть 318304=0x4db60? Говорят, что при работе с модемами (не TCP) все в порядке.

Местные особенности (Solaris 2.5)

В настоящий момент, выключено, но когда-то использовался для чтения USENET от demos (по-другому они не давали - хотели паковать, чтобы уменьшить траффик). Еще раньше (:) получал почту от него же для variant.msk.su. Когда-то работал fidogate: Sparc брал новости и почту от ДЕМОСа и готовил uucp-задания для p5server.deol.ru (OS/2), который их преобразовывал потом в формат FIDO. Соответственно, Sparc обращаясь в ДЕМОС выдавал себя за p5server, а когда настоящий p5server обращался к нему, то выдавал себя за ДЕМОС ;)

uudemon.poll - не используется, при моих минимальных потребностях понятнее (легче в управлении) прямой вызов uusched (или даже uucico) и uuxqt напрямую из crontab.

uudemon.hour - это просто запуск отвязанных uusched и uuxqt - удобнее вызывать их напрямую в crontab.

uudemon.admin - это почти исключительно вызов uustat -p и uustat -q.

uudemon.cleanup - единственный полезный файл из комплекта администратора; запускается раз в неделю; скидывает недельные журналы в Old (затирая журналы и статистику предыдущей недели): xferstats, audit, command, errors, Foreign, perflog, security, uucleanup (что-то не так), журналы (uucp, uux, uucico, uuxqt) для каждой машины. Запускает uucleanup и посылает отчет хозяину. Самостоятельно удаляет всякий мусор (типа core). Удаляет старые файлы из публичной директории и пустые директории из спула. Простенькая обработка статистики и посылка отчета хозяину.

Права у журналов странные, можно попробовать их уменьшить.

Нужны ли нам .Admin/account и .Admin/perflog?

Основные директории, за которыми надо следить:

Вызывать uucico из crontab, но фильтровать почту о удачных пересылках и посылать ее администратору

Должен быть пользователь uucp (без права на shell).

Настройки в /etc/uucp:

crontab: раз в неделю uudemon.cleanup, раз в 10 минут uucico на demos и раз в час uuxqt на demos (на случай нескончаемого потока).

Обработка журналов.

Настройка почты:
rbmail - Rbmail.tar.Z с релкомовского архива, чуть правленный для совместимости с Solaris - убраны ссылки на RMAIL2 (/bin/rmail) и рабочая область передвинута из /usr/spool в /var/spool - и заслан в /usr/bin;
использование rcbmail в практике не встречалось, так что бороться с ним не стал;
rmail является линком на стандартный /usr/bin/mail из Solaris, если будут проблемы, то можно будет разобраться с rmail из поставки sendmail)

Настройка новостей:

Выключить перенаправление почты на root вместо uucp.

Ссылки

@ Карта сайта News Автора!

Bog BOS: UUCP (Unix Unix Control Protocol)

Последние изменения:
2024.11.22: sysadmin: systemd-journald (централизованное хранение)
2024.11.11: sysadmin: Linux: пространства имён
2024.11.06: sysadmin: настройка TCP/IP в Linux: виртуальный интерфейс и виртуальный мост
2024.10.25: sysadmin: Linux VFS, атрибуты, расширенные атрибуты, ACL



Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru