|
|
Dieser Artikel ist verfübar in: English Castellano Deutsch Francais Nederlands Portugues Russian Turkce |
von Guido Socher Über den Autor: Guido benutzt UUCP schon seit vielen Jahren und er ist der Meinung, dass dies der beste Weg ist, um ein lokales Mailsystem mit dem Internet zu verbinden. Inhalt:
|
Zusammenfassung:
UUCP gehört zu den ältesten Protokollen des Internets. Heute wird es in vielen Bereichen durch modernere Protokolle ersetzt, aber es bleibt weiterhin eine der besten Möglichkeiten, um Emails über eine Dial-Up Verbindung zu senden und zu empfangen. Leider sind sich viele Nutzer von Dial-Up Verbindungen der Möglichkeiten, die ihnen UUCP bietet, nicht bewusst und fordern deshalb diesen Service nicht. Daraus resultiert, dass weniger serviceorientierte Provider UUCP heutzutage gar nicht mehr anbieten.
UUCP ist ein schon sehr altes Protokoll und wurde ursprünglich
dazu benutzt, alle möglichen Dateien zwischen Unixsystemen zu
kopieren. Daher stammt auch der Name: "Unix to Unix Copy".
Diese frühen Computersysteme waren nicht ständig über
ein Netzwerk verbunden. Stattdessen wurden Dial-Up Modems für die
Verbindungen genutzt, die in regelmäßigen Intervallen einen
Transfer durchführten.
Um z.B. die Datei mynotes.txt auf ein über Netzwerk erreichbares System
"mars" zu kopieren, hätte man folgendes Kommando benutzt:
uucp mynotes.txt mars!~/mynotes.txtZuerst wurden die Daten in ein temporäres Verzeichnis, ein sogenanntes "spool directory", kopiert. Erst nachdem eine Dial-Up Verbindung hergestellt wurde, fand der eigentliche physikalische Transfer statt.
cat somedata.txt | uux - mars!rnewsUm es noch einmal zu verdeutlichen: Das Kommando rnews wäre erst auf dem System "mars" ausgeführt worden, wenn eine Dial-Up Verbindung hergestellt wurde. Bis dahin wurde der Befehl in dem temporären Verzeichnis zwischengespeichert.
telnet uucp.my-friendly-isp.com 540Darauf sollte etwa folgendes erscheinen:
Trying 1.2.3.42... Connected to uucp.my-friendly-isp.com Escape character is '^]'. login:Tippe den Loginnamen und das Passwort:
Trying 1.2.3.42... Connected to uucp.my-friendly-isp.com Escape character is '^]'. login: linux Password: tux.1234 Shere=mficNach einem erfolgreichen Login antwortet das System mit "Shere". Das steht für System gefolgt vom Systemnamen des entfernten Systems. (mit Angaben des ISPs vergleichen)
^] telnet> q Connection closed.Nun ist bekannt, dass der Zugang korrekt konfiguriert wurde.
# call file # The format is just remote-system-name login-name password. mfic linux tux.1234
# port file # No need to change this type tcp port tcp service 540
# sys file # defines information about the remote system # system name of your ISP: system mfic # the server of your ISP: address uucp.my-friendly-isp.com # do not change the next 3 lines, see documentation of Tailer UUCP # for details time Any 2 port tcp chat-timeout 60 # allowed commands: commands rmail # take the password and user name from the call file: call-login * call-password * # do not change the next line: chat ogin: \L assword: \P #
# The config file just defines the path names # of the other files and directories as well as your # system name. # Your system name: nodename oblelix # max number of request from other systems to execute in parallel: max-uuxqts 2 # The UUCP spool directory spool /var/spool/uucp # The other fields are usually already compiled into # as defaults: # pubdir /var/spool/uucppublic # logfile /var/log/uucp/Log # statfile /var/log/uucp/Stats # debugfile /var/log/uucp/Debug # callfile /etc/uucp/call # ....
Nach dem Speichern der Konfigurationsdateien ist das Kommando "uuchk"
auszuführen. Es ist zu finden unter: /usr/sbin/uuchk
Als Ausgabe gibt es eine Zusammenfassung der Konfiguration und ein paar
Standardwerte, die man nicht explizit gesetzt hat. Der Rechnername des Servers
beim ISP, in unserem Beispiel uucp.my-friendly-isp.com, erscheint unter
"phone number":
Phone number uucp.my-friendly-isp.comDies ist zwar merkwürdig, aber trotzdem richtig für UUCP über TCP/IP. Speziell sollte man die Einträge zu Verzeichnissen, Logdateien, Debugdateien überprüfen, und dass diese dem Nutzer uucp gehören.
Jetzt sollte man in der Lage sein, Emails über UUCP zu empfangen, aber der lokale Mailer (MTA = mail transport agent) weiß noch nicht, dass er die Mails für die beim ISP registrierte Domain bearbeiten darf. In unserem Fall ist das die Domain miller.my-friendly-isp.com. Die Konfiguration dieser Domain hängt vom eingesetzten MTA ab. Bei Sendmail reicht es, eine einzelne Zeile mit miller.my-friendly-isp.com in die Datei /etc/sendmail.cw zu schreiben:
# sendmail.cw define the domains for which we handle mail miller.my-friendly-isp.comNun sind wir soweit auszuprobieren, ob der Emailempfang über UUCP funktioniert. Das Versenden funktioniert noch nicht, da Sendmail noch nicht vollständig konfiguriert ist.
/usr/sbin/uucico -x 11 -S mficmfic ist der UUCP Systemname von my-friendly-isp.com.
Nun sollte man den Befehl "uulog" ausführen. Dies gibt eine kompaktere Zusammenfassung über die mittels UUCP/rmail erhaltenen Mails aus.
#divert(-1) # `This is config sends outgoing mail via uucp using /usr/bin/uux # # to generate a sendmail.cf out of this .mc file use the sendmail sources # and run m4 thisfile.mc > sendmail.cf.' divert(0) include(`../m4/cf.m4') VERSIONID(`UUCP, Jan 28 2001, without DNS') undefine(`BITNET_RELAY') undefine(`DECNET_RELAY') undefine(`UUCP_RELAY') OSTYPE(`linux') MASQUERADE_AS(miller.my-friendly-isp.com) MASQUERADE_DOMAIN(localdomain) MASQUERADE_DOMAIN(localhost) # ` add any local hostnames here:' MASQUERADE_DOMAIN(philosophus) # ` needed if you use an internal domain that does not exist: ' FEATURE(`masquerade_envelope') FEATURE(always_add_domain) # ` read allowed domains from cw file: ' FEATURE(use_cw_file) FEATURE(local_procmail) # `important for uucp:' FEATURE(accept_unresolvable_domains)dnl # `the /etc/passwd entry: mail:*:8:12:mail:/var/spool/mail:' define(`confDEF_USER_ID',``8:12'') define(`confSAFE_QUEUE',`True') define(`confDELIVERY_MODE',`background')dnl # 'replace mfic by the UUCP system name of your ISP:' define(`SMART_HOST',uucp-uudom:mfic)dnl define(`confSERVICE_SWITCH_FILE',/etc/service.switch)dnl define(`confHOSTS_FILE',/etc/hosts)dnl define(`UUCP_MAILER_MAX',1024000)dnl MAILER(procmail)dnl MAILER(local)dnl MAILER(smtp)dnl MAILER(uucp)dnlNachdem man die Datei an die eigene Umgebung angepasst hat, muss man sie mit folgendem Kommando kompilieren:
m4 sendmail-uucp.mc > sendmail.cfNun kopiert man die sendmail.cf Datei nach /etc und startet Sendmail neu:
/etc/rc.d/init.d/sendmail restartDer o.g. Pfad stimmt für Redhat/Mandrake. Für Suse, Debian usw. ist er anders...
hosts files aliases filesZum Test sollte man eine Email an jemanden schicken. Man kann dies entweder mit seinem Lieblings-Emailprogramm tun oder direkt über die Unix Kommandozeile:
echo "hello john, just testing..." | Mail john@somewhere.orgDiese Email wird nicht direkt verschickt. Sie wird im UUCP System in eine Warteschlange gestellt. Man kann sie mit folgendem Kommando sehen:
uustat -auustat gibt aus:
mfic.CRJjd4uAAAPs mfic joe 07-24 20:19 Executing rmail john@somewhere.org (sending 50 bytes)und als nächster Befehl:
/usr/sbin/uucico -x 11 -S mficmfic ist der UUCP System Name von my-friendly-isp.com! Wenn man sich nun die Debugdatei anschaut, kann man beobachten, wie die Mail versendet wird.
#!/bin/sh hostn=uucp.my-friendly-isp.com # first check that the server of my ISP is reachable. # This requires a more recent version of ping where you can # specify the timeout: if ping -w 3 -qn -c 1 $hostn > /dev/null ; then /usr/sbin/uucico -S mfic #sleep 1 #uulog -s mfic -5 else echo "ERROR: $hostn is down" exit 1 fiDas Skript sollte mit "chmod 755 /usr/bin/uumail" ausführbar gemacht werden. Jetzt ruft man es manuell auf, um zu überprüfen, ob es funktioniert.
pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d imap stream tcp nowait root /usr/sbin/tcpd imapdFalls xinetd genutzt wird, muss eine passende Konfigurationsdatei für jeden Dienst erstellt werden (siehe dazu auch LinuxFocus Artikel 175 mit entsprechendem Titel). Man sollte auch nicht vergessen, den Zugang in /etc/hosts.allow zu erlauben, falls Benutzer ihres Mails von anderen Hosts im LAN abrufen wollen:
# hosts.allow , tcp wrapper config file # anybody can get access to imap: imapd: ALL # pop3 is only allowed from 2 hosts: ipop3d: 10.0.0.1, 10.0.0.2, 127.0.0.1
Einen guten und vertrauenswürdigen Internet Service Provider für
UUCP zu finden, ist nicht sehr einfach, besonders da sich die meisten ISPs
nur auf den Otto Normalverbraucher mit vorinstalliertem Windows konzentrieren.
Mir sind 2 wirklich gute ISPs in Deutschland bekannt, die Email
über UUCP ermöglichen:
Wir von LinuxFocus.org können auch für eine begrenzte Anzahl von Linux Fans Email über UUCP anbieten, wenn man in unsere Organisation eintritt, uns finanziell unterstützt und/oder mit uns regelmäßig zusammenarbeitet. Nehmt Kontakt zu mir auf, falls Interesse besteht.
Eine andere Möglichkeit einen passenden ISP im eigenen Land zu finden wäre, Google oder eine andere Suchmaschine zu nutzen. Die kleineren mehr kunden- und serviceorientierten ISPs bieten bestimmt Email über UUCP als Produkt an.
|
Der LinuxFocus Redaktion schreiben
© Guido Socher, FDL LinuxFocus.org Einen Fehler melden oder einen Kommentar an LinuxFocus schicken |
Autoren und Übersetzer:
|
2001-08-26, generated by lfparser version 2.17