Benutzer-Werkzeuge

Webseiten-Werkzeuge


uucp

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
uucp [2018/06/15 17:40]
chris
uucp [2019/08/21 23:58] (aktuell)
chris [Prinzip]
Zeile 20: Zeile 20:
  * **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 Taylor-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 28: Zeile 28:
  * 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.
Zeile 35: Zeile 35:
 ### Wie könnt ihr anrufen? ### Wie könnt ihr anrufen?
  
- * **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**, 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.
  
 ### Austausch von News ### Austausch von News
Zeile 70: Zeile 70:
 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), +
-   * rsmtp (einzeln, mit SMTP-Dialog drumrum), +
-   * rbsmtp (batched smtp, mit angebbarer Batchgröße,​ default 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 will, hole sich am besten das "​Plugin"​ bsmtpd, das es für Debian fertig als Paket gibt.   +
-Beim smail genügt es, rbsmtp auf rsmtp zu linken und ein Script rgsmtp zu erzeugen, welches enthält: +
- +
-    #! /bin/sh +
-    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. 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.
Zeile 92: Zeile 78:
 ### 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 123: 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 138: 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 149: 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. +#### 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-Nummer ​drin auftaucht. Daher mache man es ohne port- oder dial-Eintrag ausschließlich im sys-File so: +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>​ 
-    --- sys unterer Teil ---+    ​--- sys unterer Teil ---
     port type pipe     port type pipe
     port reliable true     port reliable true
Zeile 169: 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 id_rsa.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.
  
 Der Public-Key vom User uus ist: Der Public-Key vom User uus ist:
uucp.1529077225.txt.gz · Zuletzt geändert: 2018/06/15 17:40 von chris