Benutzer-Werkzeuge

Webseiten-Werkzeuge


uucp

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
uucp [2014/02/20 23:15]
127.0.0.1 Externe Bearbeitung
uucp [2019/08/21 23:58] (aktuell)
chris [Prinzip]
Zeile 3: Zeile 3:
 ## Grundsätzliches ## 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).+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.+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.+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.+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 ## Prinzip
Zeile 19: Zeile 19:
  * **C-File** -- ist ein Auftrag für den uucico. Es enthält einen Befehl, z.B. eine Datei zu übertragen.  * **C-File** -- ist ein Auftrag für den uucico. Es enthält einen Befehl, z.B. eine Datei zu übertragen.
  * **D-File** -- ist eine zu übertragene Datei.  * **D-File** -- ist eine zu übertragene Datei.
- * **D.X-File** --  ist eine zu übertragene Datei, die auf der Gegenseite zum X-File wird. Wird heute kaum benutzt, weil das C-File beim aktuellen ​Talor-UUCP bereits ein Kommando zum Anlegen eines X-Files enthalten kann. + * **D.X-File** --  ist eine zu übertragene Datei, die auf der Gegenseite zum X-File wird. Wird heute kaum benutzt, weil das C-File beim aktuellen ​Taylor-UUCP bereits ein Kommando zum Anlegen eines X-Files enthalten kann. 
- * **X-File** -- ist ein Auftrag ​fü den uuxqt und enthält das dazu verwendete D-File.+ * **X-File** -- ist ein Auftrag ​für den uuxqt und enthält das dazu verwendete D-File.
  
 Das Verfahren läuft wie folgt ab: Das Verfahren läuft wie folgt ab:
Zeile 27: Zeile 27:
  * Uux legt nun ein D-File mit den erhaltenen Daten (also der Mail selbst) an und ein C-File, welches den Kopierauftrag für das D-File sowie das Kommando für die Gegenstelle (also "rmail rechner!user"​) enthält. Nur bei Nicht-Standard-Kommandos wird ein D.X-File angelegt, das dann auf der Gegenseite zum X-File wird.  * Uux legt nun ein D-File mit den erhaltenen Daten (also der Mail selbst) an und ein C-File, welches den Kopierauftrag für das D-File sowie das Kommando für die Gegenstelle (also "rmail rechner!user"​) enthält. Nur bei Nicht-Standard-Kommandos wird ein D.X-File angelegt, das dann auf der Gegenseite zum X-File wird.
  * Uucico stellt die Verbundung her und sucht nach C-Files. Er entnimmt ihnen die Namen der D-Files und überträgt sie (ein D-File, dem das C-File verlorengegangen ist, bleibt ewig liegen!). Wenn im C-File noch ein Kommando steht, wird dieses ebenfalls zur Gegenstelle geschickt und dort als X-File gespeichert,​ steht im C-File ein D.X-File, wird dieses als X-File auf der Gegenseite abgelegt. Ist ein C-File abgearbeitet (also auch das D-File komplett übertragen),​ wird es entfernt. Auf der Gegenseite liegt nun also ein X-File mit "rmail rechner!user"​ und ein D-File mit der Mails selbst. Ist uucico damit fertig, kann die Gegenseite ihre Dateien senden (bei bidirektionalen Protokollen auch gleichzeitig). Das wechselt so lange, bis alle C-Files abgearbeitet sind (falls zwischendurch noch welche dazukommen). Unvollständige Dateien werden beim nächsten Anruf fortgesetzt. Die Verbindung wird schließlich beendet.  * Uucico stellt die Verbundung her und sucht nach C-Files. Er entnimmt ihnen die Namen der D-Files und überträgt sie (ein D-File, dem das C-File verlorengegangen ist, bleibt ewig liegen!). Wenn im C-File noch ein Kommando steht, wird dieses ebenfalls zur Gegenstelle geschickt und dort als X-File gespeichert,​ steht im C-File ein D.X-File, wird dieses als X-File auf der Gegenseite abgelegt. Ist ein C-File abgearbeitet (also auch das D-File komplett übertragen),​ wird es entfernt. Auf der Gegenseite liegt nun also ein X-File mit "rmail rechner!user"​ und ein D-File mit der Mails selbst. Ist uucico damit fertig, kann die Gegenseite ihre Dateien senden (bei bidirektionalen Protokollen auch gleichzeitig). Das wechselt so lange, bis alle C-Files abgearbeitet sind (falls zwischendurch noch welche dazukommen). Unvollständige Dateien werden beim nächsten Anruf fortgesetzt. Die Verbindung wird schließlich beendet.
- * Entweder automatisch vom uucico oder per cron oder per Hand wird der uuxqt gestartet. Dieser sucht nach X-Files, und führt die darin enthaltenen Kommandos aus, dazu verwendet er die D-Files. Nach dem Abarbeiten werden die Files gelöscht. Sollten Kommandos fehlschlagen,​ werden D- und X-File in ein Verzeichnis .Failed/​site verschoben (das sollte man also ab und an checken), und der Absender sowie der lokale ​uucp-User werden benachrichtigt (Mail). Im Beispiel findet uuxqt nun also ein X-File mit dem Namen des D-Files und "rmail rechner!user"​. Uuxqt wird das D-File als Standardinput dem rmail übergeben, und wenn rmail ohne Fehler abgelaufen ist, die Mail also angenommen wurde, beide Files löschen. + * Entweder automatisch vom uucico oder per cron oder per Hand wird der uuxqt gestartet. Dieser sucht nach X-Files, und führt die darin enthaltenen Kommandos aus, dazu verwendet er die D-Files. Nach dem Abarbeiten werden die Files gelöscht. Sollten Kommandos fehlschlagen,​ werden D- und X-File in ein Verzeichnis .Failed/​site verschoben (das sollte man also ab und an checken), und der Absender sowie der lokale ​UUCP-User werden benachrichtigt (Mail). Im Beispiel findet uuxqt nun also ein X-File mit dem Namen des D-Files und "rmail rechner!user"​. Uuxqt wird das D-File als Standardinput dem rmail übergeben, und wenn rmail ohne Fehler abgelaufen ist, die Mail also angenommen wurde, beide Files löschen. 
-Im Prinzip können so beliebige Kommandos remote ausgeführt werden - das wurde früher auch durchaus benutzt. Die erlaubten Kommandos stehen im sys-File, damit kein Missbrauch möglich ist. Heute stehen dort meistens nur noch rmail rnews und ggf. rsmtp rbsmtp rgsmtp.+Im Prinzip können so beliebige Kommandos remote ausgeführt werden - das wurde früher auch durchaus benutzt. Die erlaubten Kommandos stehen im sys-File, damit kein Missbrauch möglich ist. Heute stehen dort meistens nur noch rmail und rnews.
  
-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.+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? ## Was geht?
- 
 ### Wie könnt ihr anrufen? ### Wie könnt ihr anrufen?
  
- * **uucp über PPP, Einwahl bei uns**: Über eine normale PPP-Verbindung könnt ihr auch hirsch erreichen. Dabei ist kein port- oder dial-Eintrag nötig. + * **UUCP über SSH**, hier erfolgt die Interneteinwahl ​über einen beliebigen Internetprovider. Damit dabei das Passwort nicht im Klartext über die Leitung geht, bieten wir dafür an, UUCP durch eine SSH-Verbindung zu führen. ​Hierbei ​ist kein Eintrag in dial/port nötig.
- * **uucp ​über ssh, z.B. bei Einwahl woanders**: Flatrates wie z.B. bei T-DSL sind derzeit sehr günstig, so dass der Gedanke nahe liegt, hinten rum bei uns zu pollen. Damit dabei das Passwort nicht im Klartext über die Leitung geht, bieten wir dafür an, uucp durch eine ssh-Verbindung zu führen. ​Auch hierbei ​ist kein Eintrag in dial/port nötig+
- * **uucp über Modem**: bieten wir mangels Nutzung und Technik nicht mehr an.+
  
 ### Austausch von News ### Austausch von News
  
-Um News per uucp auszutauschen,​ muss euer News-Server dafür eingerichtet werden.+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: 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:
Zeile 71: Zeile 68:
 ### Austausch von Mail ### Austausch von Mail
  
-Um Mail per uucp auszutauschen,​ muss euer Mailer dafür eingerichtet werden.  ​+Um Mail per UUCP auszutauschen,​ muss euer Mailer dafür eingerichtet werden.  ​
 Auch hier kann die Site wahlweise einliefern, hirsch sollte alles verstehen.  ​ Auch hier kann die Site wahlweise einliefern, hirsch sollte alles verstehen.  ​
-Wir können Mails wie folgt verschicken:+Wir verschicken ​die Mails via rmail.
  
-   * rmail (normal), +Solltet ihr vorhabenhinter einer UUCP-Site weitere Sites mit Mail zu versorgenmuss eure Site diese per Domain-Adressierung erreichen könnenEs erfolgt keine komplette Bang-Adressierung von weiter hinten liegenden Sites mehrsondern euer System bekommt ein rmail !user@site.do.main, und muss selbst wissen, wohin diese Mail zu schicken ist.
-   * rsmtp (einzeln, mit SMTP-Dialog drumrum), +
-   * rbsmtp (batched smtp, mit angebbarer Batchgrößedefault ist 100 kB), +
-   * rgsmtp (gebatcht mit angebbarer Dateigröße,​ komprimiert mit gzip). +
-   *  +
-Dabei wird (bei rbsmtp und rgsmtp) durch einen Poll der Site der Batchvorgang ausgelöst, so dass die Mails dann automatisch alle mitkommen, auch wenn die Batchgröße noch nicht erreicht ist  +
-Wer r*smtp mit sendmail nutzen willhole sich am besten das "​Plugin"​ bsmtpd, das es für Debian fertig als Paket gibt  +
-Beim smail genügt esrbsmtp auf rsmtp zu linken ​und ein Script rgsmtp ​zu erzeugen, welches enthält:+
  
-    #! /bin/sh +## Konfiguration von UUCP
-    exec &​lt;​pfad_zu&​gt;​gzip -d -c -f | &​lt;​pfad_zu&​gt;​rsmtp +
- +
-Außerdem muss man natürlich r*smtp als Kommandos im uucp-sys-File hinzufügen,​ falls sie dort fehlen. +
- +
-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 ### Generell
  
-Die Konfiguration ist distributionsabhängig. Es gibt zwar nur eine aktuelle ​uucp-Version (Taylor-uucp 1.06), jedoch verschiedene Wege, diese zu konfigurieren:​+Die Konfiguration ist distributionsabhängig. Es gibt zwar nur eine aktuelle ​UUCP-Version (Taylor-UUCP 1.07), jedoch verschiedene Wege, diese zu konfigurieren:​
  
    * im config-File (meist /​etc/​uucp/​config) können die Namen der anderen Files festgelegt werden. Die üblichen Namen sind sys, port, dial, call, passwd, es gibt aber Distributionen,​ die diese ändern (z.B. in Dial oder gar sonstwas).    * im config-File (meist /​etc/​uucp/​config) können die Namen der anderen Files festgelegt werden. Die üblichen Namen sind sys, port, dial, call, passwd, es gibt aber Distributionen,​ die diese ändern (z.B. in Dial oder gar sonstwas).
-   * Kommandos können auch für die anderen Files angegeben werden, im falschen File sozusagen. Z.B. port type tcp im sys-File bedeutet, dass ein port <namenlos&​gt; ​mit dem Typ tcp verwendet wird, der eigentlich im port-File hätte stehen müssen (dort jedoch _mit_ Namen). Das ist praktisch, weil man nur eine Datei wirklich bearbeiten muss.+   * Kommandos können auch für die anderen Files angegeben werden, im falschen File sozusagen. Z.B. port type tcp im sys-File bedeutet, dass ein port "namenlos" ​mit dem Typ tcp verwendet wird, der eigentlich im port-File hätte stehen müssen (dort jedoch _mit_ Namen). Das ist praktisch, weil man nur eine Datei wirklich bearbeiten muss.
    * Für die Logfiles gibt es drei Verfahren, BSD-like, HDB-like und Taylor-like,​ und das noch an verschiedenen Stellen. Dies wird beim Compilieren festgelegt...    * Für die Logfiles gibt es drei Verfahren, BSD-like, HDB-like und Taylor-like,​ und das noch an verschiedenen Stellen. Dies wird beim Compilieren festgelegt...
    * dto. Ort und Art der Spool-Verzeichnisse (getrennt nach D., C. und X. oder zusammen oder wie...).    * dto. Ort und Art der Spool-Verzeichnisse (getrennt nach D., C. und X. oder zusammen oder wie...).
-   ​* ​+
 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: 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 ---+<​code>​ 
 +    # --- sys oberer Teil ---
     #     #
     # wo man z.B. rgsmtp, rnews usw. stehen hat     # wo man z.B. rgsmtp, rnews usw. stehen hat
Zeile 126: Zeile 110:
     myname <​site>​     myname <​site>​
     time any     time any
-    --- Ende sys oberer Teil ---+    ​--- Ende sys oberer Teil --- 
 +</​code>​
  
 Dazu muss hirsch ins call-File, und zwar so (mit U davor!): Dazu muss hirsch ins call-File, und zwar so (mit U davor!):
 +<​code>​
     hirsch U<​site>​ password     hirsch U<​site>​ password
 +</​code>​
  
 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). 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).
Zeile 141: Zeile 127:
  
 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: 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:
- +<​code>​ 
-    sys unterer Teil ---+    ​sys unterer Teil ---
     # wer den port TCP aus dem port-File nicht benutzen will:     # wer den port TCP aus dem port-File nicht benutzen will:
     port type tcp     port type tcp
Zeile 152: Zeile 138:
     # i ist bidirektional     # i ist bidirektional
     protocol t     protocol t
-    --- Ende sys unterer Teil ---+    ​--- Ende sys unterer Teil --- 
 +</​code>​
  
-Bei address kann man auch eine IP-Nr. angeben. Wer als Standleiter eine DFN-Adresse hat, nimmt hirsch.in-berlin.de+#### Verbindung per SSH
  
-#### Verbindung per ssh+##### UUCP vorbereiten
  
-##### 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: 
- +<​code>​ 
-Anlegen eines Eintrags SSH im port-File ist zwar möglich, aber unzweckmäßig,​ da die IP-Nummer ​drin auftaucht. Daher mache man es ohne port- oder dial-Eintrag ausschließlich im sys-File so: +    ​--- sys unterer Teil ---
- +
-    --- sys unterer Teil ---+
     port type pipe     port type pipe
     port reliable true     port reliable true
Zeile 172: Zeile 157:
     # Teil ausmachen.     # Teil ausmachen.
     protocol y     protocol y
-    --- Ende sys unterer Teil ---+    ​--- Ende sys unterer Teil --- 
 +</​code>​
  
-Um ein bestimmtes SSH-Protokoll vorzugeben, kann man die Zeile "port command"​ auch noch durch die Parameter ​"​-1"​ (für SSH1) bzw. "​-2" ​(für SSH2) ergänzen. SSH2 wird dringend, empfohlen, ist in der Regel sowieso default.+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+##### 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 uucico ist SUID uucp. Daher müssen alle SSH-Sachen **als User uucp** gemacht werden_ (su - uucp oder sudo -u uucp):
  
- * Erzeugen eines Keys (ssh-keygen),​ dem key kein Passwort geben! + * Erzeugen eines Keys (ssh-keygen),​ dem Key kein Passwort geben! 
- * Mailen der identity.pub **von uucp** an support. + * Mailen der id_rsa.pub **von uucp** an support. 
- * Auf hirschs Seite kann man sich natürlich nicht als uucp einloggen - klar! - daher gibt es dort den User uus (uucp ssh), der den uucico startet. ​Der ssh muss also immer ein -l uus mitgegeben werden! + * Auf hirschs Seite kann man sich natürlich nicht als User uucp einloggen - klar! - daher gibt es dort den User uus (UUCP SSH), der den uucico startet. ​Dem SSH muss also immer ein -l uus mitgegeben werden! 
- * Nach dem Eintragen des Keys durch support dann entweder den public-key von hirsch manuell in known-hosts hinzufügen oder - als User uucp! - einmal eine ssh zu hirsch aufbauen, und zwar als uucp-&​gt;​uus: ​ssh hirsch.in-berlin.de -l uus Dabei bestätige man mit "​yes",​ dass man den Key speichern will. + * Nach dem Eintragen des Keys durch support dann entweder den public-key von hirsch manuell in known-hosts hinzufügen oder - als User uucp! - einmal eine SSH-Verbindung ​zu hirsch aufbauen, und zwar als UUCP-User mit ''​ssh hirsch.in-berlin.de -l uus''​. ​Dabei bestätige man mit "​yes",​ dass man den Key speichern will. 
-   Dann erscheint "​login:",​ das ist der uucico der Gegenseite, drückt man weg.+   Dann erscheint "​login:",​ das ist der uucico der Gegenseite, ​das drückt man weg.
  
-Die Public-Keys vom User uus sind:+Der Public-Key vom User uus ist:
  
-    ssh 1: hirsch.in-berlin.de,​192.109.42.6 1024 35 14488287281117189316742939670045396321867424655395483001648387814782478985311727884293180131810178900682708790362895481257200753141879483828189115478480857781020420592427185439912725027338100319110636464485478540350313416760301961026643018373464143304013777394416338233597244737899962453111121128403 1910042851 
     ssh2: hirsch.in-berlin.de,​192.109.42.6 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIE A4lEyhZotlEhe8CM4L4ymiNAflhlwFkWr57Ycw+GNBmralR/​UsckDmvNxBZYykmjh254MjPHkkvboGnCT4rsFEvB74A3nILhQdvH4rmVE0ZItPO+5nJXD3FEfgoDj+KQZqefcmew 0b14/​MujOhPvy6YDr2D3dCLhYadJJN6TrMRs=     ssh2: hirsch.in-berlin.de,​192.109.42.6 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIE A4lEyhZotlEhe8CM4L4ymiNAflhlwFkWr57Ycw+GNBmralR/​UsckDmvNxBZYykmjh254MjPHkkvboGnCT4rsFEvB74A3nILhQdvH4rmVE0ZItPO+5nJXD3FEfgoDj+KQZqefcmew 0b14/​MujOhPvy6YDr2D3dCLhYadJJN6TrMRs=
 +    ​
uucp.1392934539.txt.gz · Zuletzt geändert: 2014/02/20 23:15 von 127.0.0.1