Inhaltsverzeichnis

Konfiguration von UUCP unter Unix

Grundsätzliches

Die Einrichtung von UUCP ist naturgemäß nicht einfach. Genaugenommen muss man sich intensiv mit der Anleitung befassen und auch einiges an Erfahrung sammeln. Die originale Anleitung ist als .info-Datei-System vorhanden, zum Lesen empfehlen sich neben X-Tools das Konsolen-Tool pinfo (wer die mit info selbst liest, ist Masochist).

Da vermutlich die wenigsten vorhaben, eine komplette Hierarchie mit UUCP zu vernetzen, wie das früher noch üblich war, genügen aber für die Nutzung von UUCP für den durchschnittlichen IN-Berliner wenige Grundeinstellungen.

Der Rechner, der den UUCP-Dienst erledigt, heißt hirsch. Da UUCP die Rechnernamen beim Aushandeln der Verbindung übermittelt, muss man das wissen.

Grundsätzlich bieten wir über UUCP zwei Dienste an: Mail und News. Die früher noch verbreitete Dateiübertragung ist von ftp und www abgelöst worden und dient nur noch dem Übertragen der Mail- und News-Jobs.

Prinzip

UUCP arbeitet erst einmal offline, d.h. ohne Verbindung zur Gegenstelle. Arbeitsaufträge - Jobs - werden von uux angenommen und in einem Spoolverzeichnis aufbewahrt. Erst der uucico transportiert die Jobs zum Partnersystem, das sie zunächst erst einmal wieder aufbewahrt, bis sie vom uuxqt abgearbeitet werden.

UUCP kennt 4 Dateien:

Das Verfahren läuft wie folgt ab:

Damit man mit UUCP Mail und News transportieren kann, müssen die verwendeten Mail- und News-Programme natürlich mit UUCP zusammenarbeiten, d.h. sie müssen die Übertragung mit uux ausführen und Mail/News mit den vom uuxqt ausgeführten Kommandos annehmen.

Was geht?

Wie könnt ihr anrufen?

Austausch von News

Um News per UUCP auszutauschen, muss euer News-Server dafür eingerichtet werden.

News werden gebatcht und komprimiert. Dabei kann die Site die Größe der Batches (min/max) angeben und die Art der Kompression bestimmen, mit der wir packen. Wir bieten an:

Dazu kann die Batchgröße (min max) angegeben werden. Default sind 200 kB/20 MB. Mail an support genügt.

Die Sites können die Batches nach eigenem Gutdünken packen (compress, gzip oder bzip2), ohne uns Bescheid zu sagen (sofern der Header stimmt).
Damit bzip2 funktioniert, muss Site folgendes tun (gültig für inn):

1 In <Pfad-zu-news-bin>/rnews.libexec/ ein bunbatch anlegen (ausführbar für news) mit:

#! /bin/sh
exec /bin/bzip2 -d

2 Um bzip2 zu verschicken, das script „send-uucp“ kopieren (z.B. auf send-bzip) und ändern (cunbatch -&gt; bunbatch und den default compressor auf bzip2 setzen:

*)
# The default is set in innshelvars
COMPRESS="bzip2"
;;

Analog natürlich für gzip, falls das bei älteren Systemen noch nicht vorhanden ist.

Austausch von Mail

Um Mail per UUCP auszutauschen, muss euer Mailer dafür eingerichtet werden.
Auch hier kann die Site wahlweise einliefern, hirsch sollte alles verstehen.
Wir verschicken die Mails via rmail.

Solltet ihr vorhaben, hinter einer UUCP-Site weitere Sites mit Mail zu versorgen, muss eure Site diese per Domain-Adressierung erreichen können. Es erfolgt keine komplette Bang-Adressierung von weiter hinten liegenden Sites mehr, sondern euer System bekommt ein rmail !user@site.do.main, und muss selbst wissen, wohin diese Mail zu schicken ist.

Konfiguration von UUCP

Generell

Die Konfiguration ist distributionsabhängig. Es gibt zwar nur eine aktuelle UUCP-Version (Taylor-UUCP 1.07), jedoch verschiedene Wege, diese zu konfigurieren:

Das was folgt ist also nur eine Möglichkeit (und geht davon aus, dass das config-File keine anderen Namen festlegt). Der obere Teil des sys-Files sowie das Auslösen des uucico ist dabei für alle Poll-Arten gleich:

    # --- sys oberer Teil ---
    #
    # wo man z.B. rgsmtp, rnews usw. stehen hat
    command-path /usr/bin /usr/lib/news/bin /usr/lib/uucp
    commands uucp rmail rnews rsmtp rgsmtp rbsmtp
    #
    # für guten Durchsatz:
    protocol-parameter i packet-size 1024
    protocol-parameter g packet-size 1024
    # wichtig, weil man sonst von hirsch nur
    # 64-Byte-Pakete kriegt, was den Durchsatz stark drückt:
    protocol-parameter g remote-packet-size 1024
    #
    # damit nimmt er die Daten aus dem call-File, welches
    # dann uucp 600 sein sollte:
    call-login     *
    call-password  *
    #
    # Beginn der Site:
    system hirsch
    # falls der Rechner lokal anders heißt:
    myname <site>
    time any
    # --- Ende sys oberer Teil ---

Dazu muss hirsch ins call-File, und zwar so (mit U davor!):

    hirsch U<site> password

Starten kann man dann per cron mit „uucico -S hirsch“, oder die vom Cron gestarteten Scripte benutzen, die z.B. Einträge in einer Datei „Poll“ auswerten (je nach Distribution sehr verschieden).

Je nach Pollverfahren

Bei Verbindung über PPP

Es ist kein Eintrag in dial nötig.

Debian hat einen Port TCP im port-File vordefiniert, den man benutzen kann, aber nicht muss. Ob es den bei anderen auch gibt, weiß ich nicht. Ich habe ihn nicht. Es geht auch alles im sys-File, das dann so aussieht:

    # sys unterer Teil ---
    # wer den port TCP aus dem port-File nicht benutzen will:
    port type tcp
    # wer den port TCP aus dem port-File benutzen will:
    port TCP
    # statt t geht auch g oder i oder andere,
    # g bietet den Vorteil, dass man nebenher noch
    # surfen kann, weil es die Leitung nicht so zudrückt,
    # i ist bidirektional
    protocol t
    # --- Ende sys unterer Teil ---

Verbindung per SSH

UUCP vorbereiten

Anlegen eines Eintrags SSH im port-File ist zwar möglich, aber unzweckmäßig, da die IP-Adresse drin auftaucht. Daher mache man es ohne port- oder dial-Eintrag ausschließlich im sys-File so:

    # --- sys unterer Teil ---
    port type pipe
    port reliable true
    port command <pfad_zu_ssh> -C -a -x -q -l uus \
     -e none hirsch.in-berlin.de
    # bei mir geht nur y-Protokoll, das kann am asymmetrischen T-DSL
    # liegen, bei anderen geht auch i-Protokoll. Vorsicht, y-Protokoll
    # bei gcc 3.3 ist buggy, muss man selbst compilieren und den ASM-
    # Teil ausmachen.
    protocol y
    # --- Ende sys unterer Teil ---

Um ein SSH2, welches heute i.d.R. überall Default ist, zu erzwingen, kann man die Zeile „port command“ auch noch durch den Parameter „-2“ ergänzen.

SSH-Verbindung einrichten

Der uucico ist SUID uucp. Daher müssen alle SSH-Sachen als User uucp gemacht werden (su - uucp oder sudo -u uucp):

Der Public-Key vom User uus ist:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIE A4lEyhZotlEhe8CM4L4ymiNAflhlwFkWr57Ycw+GNBmralR/UsckDmvNxBZYykmjh254MjPHkkvboGnCT4rsFEvB74A3nILhQdvH4rmVE0ZItPO+5nJXD3FEfgoDj+KQZqefcmew 0b14/MujOhPvy6YDr2D3dCLhYadJJN6TrMRs=
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKpMFw3X1cw9KnwqIWGbpcZbtjCJh2NUFxrshtQHKl/l7iKQ811VFUJC2avyMGIL+/FNcBydFA4VB6JDfkXWQWM=