Benutzer-Werkzeuge

Webseiten-Werkzeuge


uucp

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
uucp [2019/08/21 23:45] – [Austausch von Mail] chrisuucp [2021/01/03 19:56] (aktuell) – [Je nach Pollverfahren] chris
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 78: 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> 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 "namenlosmit 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 109: 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 124: 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 135: 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 155: 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:
  
-    ssh2: hirsch.in-berlin.de,192.109.42.6 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIE A4lEyhZotlEhe8CM4L4ymiNAflhlwFkWr57Ycw+GNBmralR/UsckDmvNxBZYykmjh254MjPHkkvboGnCT4rsFEvB74A3nILhQdvH4rmVE0ZItPO+5nJXD3FEfgoDj+KQZqefcmew 0b14/MujOhPvy6YDr2D3dCLhYadJJN6TrMRs= +    ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIE A4lEyhZotlEhe8CM4L4ymiNAflhlwFkWr57Ycw+GNBmralR/UsckDmvNxBZYykmjh254MjPHkkvboGnCT4rsFEvB74A3nILhQdvH4rmVE0ZItPO+5nJXD3FEfgoDj+KQZqefcmew 0b14/MujOhPvy6YDr2D3dCLhYadJJN6TrMRs= 
-    +    ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKpMFw3X1cw9KnwqIWGbpcZbtjCJh2NUFxrshtQHKl/l7iKQ811VFUJC2avyMGIL+/FNcBydFA4VB6JDfkXWQWM=
uucp.1566423955.txt.gz · Zuletzt geändert: 2019/08/21 23:45 von chris