Le Linux UUCP HOWTO Vince Skahan, , version française René Cougnenc. v1.15, 29 Novembre 1995 _________________________________________________________________ _Ce document décrit la configuration d'UUCP sous Linux. Vous devez lire ce texte si vous avez l'intention de vous connecter à des sites distants par UUCP, via un modem, une connexion directe ou l'Internet. Si vous n'avez pas besoin d'UUCP, oubliez ce document, il ne vous apportera rien._ _________________________________________________________________ 1. Introduction Le but de ce petit guide est de répondre à quelques questions revenant fréquemment à propos de l'utilisation d'UUCP sous Linux en général, et de certaines distributions de ce système en particulier. Ce document, associé à ses équivalents "Mail-HOWTO" et "News-HOWTO" annule et remplace l'ancien fichier "UUCP-NEWS-MAIL-FAQ" qui était auparavant posté dans le forum Usenet _comp.os.linux.announce_. 1.1 Mises à jour de ce document Les nouvelles versions de ce "Linux Installation HOWTO" seront périodiquement postées dans comp.os.linux, comp.os.linux.announce, et news.answers. Elle seront aussi disponibles pour le téléchargement sur différents sites FTP, dont sunsite.unc.edu:/pub/Linux/docs/HOWTO. En ce qui concerne cette version française, la politique de mise à jour et de distribution reste encore à définir. Vous devriez pouvoir trouver ce document sur ftp.ibp.fr:/pub/linux/french/docs/HOWTO/ ainsi que ftp.loria.fr, et les différents miroirs accessibles par modem. Une version HTML sera bientôt installée sur http://www.freenix.fr. 1.2 Vos réactions Vos avis sur ce document, positifs ou négatifs, m'intéressent. Contactez-moi par courrier électronique si vous trouvez des erreurs ou omissions. Le traducteur n'est pas responsable du contenu, de la forme et du style rédactionnel de ce document. Seules les éventuelles fautes de frappe ou d'orthographe, ainsi que les possibles erreurs de traduction, lui incombent. Je lis, mais ne réponds pas systématiquement au courrier que je reçois. Les demandes d'amélioration seront considérées et effectuées en fonction de leur intérêt, du temps disponible et de l'humeur du jour :-) Les insultes sont directement dirigées sur /dev/null, ne vous fatiguez donc pas. En particulier, l'arborescence de fichiers standard sous Linux est en perpétuelle évolution. Dans ce document, tout ce qui s'y réfère tient compte de l'état actuel de ce "standard" au moment où il est rédigé, et des chemins d'accès ou noms de fichiers que nous avons rencontrés le plus fréquemment dans les distributions courantes de Linux. Consultez la documentation de la distribution que vous utilisez en cas de doute. Tout ce qui concerne le format de ce document concerne le coordinateur de l'équipe : Greg Hankins, dont l'adresse électronique est gregh@sunsite.unc.edu. 1.3 Informations légales Le "Linux UUCP-HOWTO" est copyright (c)1994 Vince Skahan. Les copies conformes peuvent être reproduites ou distribuées sous quelque forme que ce soit sans autorisation de l'auteur. Les traductions sont également autorisées sans accord préalable si elles comprennent une note déclarant qui a réalisé l'adaptation. De courts extraits peuvent être utilisés sans le consentement de l'auteur. Les travaux dérivés ou distributions partielles doivent être accompagnés soit d'une copie complète de ce document, soit d'une indication permettant de se le procurer. La diffusion commerciale est autorisée, et même encouragée ; toutefois l'auteur aimerait être tenu au courant de tout ce qui se fait en la matière. En résumé, nous désirons promouvoir la diffusion de ces informations par le plus de canaux possibles. Toutefois, nous voulons conserver un copyright sur ces documents, et aimerions être informés de tout projet de distribution. De plus, nous désirons que TOUTES les informations fournies par les "HOWTO" soient largement diffusées. Si vous avez des questions à poser, contactez Matt Welsh, le coordinateur du projet, à l'adresse mdw@sunsite.unc.edu, ou au +1 607 256 7372. 1.4 Responsabilités Bien sûr, je déclare n'être en aucun cas responsable des problèmes pouvant être posés par l'utilisation de ce document. Tout ce que vous faites à partir de ce guide est à vos risques et périls. 1.5 Autres sources d'information Les documents "Linux HOWTO" Vous trouverez beaucoup d'informations de valeur dans les autres documents "HOWTO" de Linux, ainsi que dans les livres du groupe de documentation Linux ("Linux Doc Project"). En particulier, vous devriez jeter un oeil à ceci: * Le _Serial Communications HOWTO_ (communications par lignes séries) * L'_Ethernet HOWTO_ (consacré au réseau Ethernet) * Le _Linux Networking Administrators' Guide_ (un excellent livre sur l'administration réseau sous Linux). USENET Vous trouverez la réponse à la plupart des questions que vous vous posez à propos de UUCP dans comp.mail.uucp. Listes de diffusion Il existe une liste de diffusion dédiée à Taylor UUCP. Pour y souscrire (ou s'y désabonner), envoyez un courrier électronique à taylor-uucp-request@gnu.ai.mit.edu Cette requête arrive à une personne physique, et non à un programme, aussi assurez-vous d'avoir bien précisé l'adresse à laquelle vous voulez recevoir la liste dans le corps de votre message. Pour envoyer un message à la liste, envoyez-le à taylor-uucp@gnu.ai.mit.edu Publications Les versions V2 et HDB de UUCP sont documentées dans pratiquement toute documentation sur le sujet, ainsi que dans tout ouvrage traitant de la communication sous UNIX. La configuration de type Taylor n'est pour l'instant décrite que dans les fichiers "Info" fournis avec les sources du programme. Vous pouvez les lire grâce à tout utilitaire prévu à cet effet, ou depuis l'éditeur de texte Emacs. Voici une liste non exhaustive de quelques ouvrages pouvant vous aider: * "Managing UUCP and USENET", chez _O'Reilly and Associates_ est à mon avis le meilleur livre pour comprendre les protocoles et les programmes nécessaires afin de devenir un site Usenet. * "Unix Communications" de _Waite Group_ contient une excellente description de chaque partie mise en jeu, et de leur interfaçage entre elles. * "Practical Unix Security" chez _O'Reilly and Associates_ présente parfaitement les méthodes permettant de sécuriser UUCP. * "The Internet Complete Reference", chez _Osborne_, est un très bon manuel de référence sur les différents services offerts par l'Internet et est une source d'informations très complète sur le courrier, Usenet, et les différentes ressources Internet. * "The Linux Networking Administrators' Guide", par Olaf Kirch, du groupe de documentation Linux (LDP) est disponible sur le Net et est publié par O'Reilly et SSC, il sera d'ici quelques mois disponible en version Française. Il présente une bonne vue d'ensemble de tout ce que vous avez besoin de connaître en matière de réseau sous Unix. 1.6 Où NE PAS rechercher de l'aide UUCP sous Linux n'a rien de particulier, et fonctionne exactement de la même manière que sur tout autre système UNIX. Par conséquent vous ne _devez pas_ poser de questions générales sur UUCP dans les forums Usenet comp.os.linux.*. Sauf si votre question est vraiment relative à Linux (par exemple, "quelles sont les options de compilation choisies dans le binaire fourni dans la distribution ZGRBGX de Linux"), vous devez la poser dans comp.mail.uucp ou dans la liste de diffusion citée plus haut. Je répète et j'insiste : Il n'y a aucune raison de poser des questions relatives à UUCP dans les groupes Usenet dédiés à Linux. Usenet comporte des forums dédiés à chaque sujet comme le courrier, les News, UUCP. Utilisez-les. SI VOUS POSEZ DES QUESTIONS NON RELATIVES A LINUX DANS LES GROUPES LINUX, VOUS VOUS TROMPEZ D'ENDROIT. LES SPECIALISTES D'UUCP SE TROUVENT LA OU NOUS VENONS DE LE DIRE, ET N'UTILISENT GENERALEMENT PAS LINUX. LES QUESTIONS N'AYANT RIEN A VOIR AVEC LINUX DANS LES HIERARCHIES DEDIEES A CE SYSTEME VOUS FERONT PERDRE VOTRE TEMPS, AINSI QUE CELUI DES AUTRES. 2. Matériel nécessaire Il n'y a rien de vraiment spécifique à posséder pour utiliser UUCP sous Linux. Tout modem compatible HAYES donnera satistaction. D'une façon générale, vous choisirez le modèle le plus rapide que vous puissiez vous payer. Il sera alors préférable de munir votre port série d'un UART 16550 pour dépasser les vitesses de 9600 bauds sans encombre. Si vous ne comprenez pas ce que nous venons de dire, lisez le groupe Usenet comp.dcom.modems, les FAQ's sur les communications séries et autres documentations, pour vous renseigner. 3. Comment se procurer UUCP Taylor UUCP (dont la version courante est 1.05) est disponible sur prep.ai.mit.edu sous sa forme originale, son code source, et diverses distributions de Linux en proposent des versions binaires toutes compilées. L'archive newspak-2.4.tar.z contient des fichiers de configuration et de documentations relatifs à l'installation de UUCP, News, Mail sous Linux, à partir des nombreuses sources disponibles. On peut en général trouver ce fichier sur sunsite.unc.edu dans le répertoire /pub/Linux/system/Mail/news. 4. Installation des programmes (L'essentiel de cette section est recopiée du fichier README des sources de Taylor UUCP v1.05, pour vous permettre de vraiment "lire la documentation" au lieu de nous contenter de vous le conseiller). Le détail des instructions pour la compilation se trouve avec les sources, dans le fichier uucp.texi. Vous pouvez récupérer des fichiers conf.h et policy.h "réputés corrects" pour Linux dans l'archive _newspak_ citée plus haut. Dans ce cas, vous pouvez sans doute directement taper make. 4.1 Extraction des archives compressées Pour extraire une archive tar compressée par gzip, je fais : gunzip -c fichier.tar.z | tar xvf - Une version moderne de tar permet de faire : tar -zxvf fichier.tgz 4.2 Edition de Makefile.in pour spécifier les répertoires d'installation. Ici, j'initialise prefix à /usr plutôt que la valeur par défaut de /usr/local 4.3 Lancer "configure" Taper sh configure. Le script configure va compiler un certain nombre de programmes tests pour voir ce qu'il est possible de faire sur votre système. Il créera le fichier conf.h à partir de conf.h.in et le Makefile depuis Makefile.in. Il générera également config.status, qui est un shell-script qui permet de recréer la configuration. * Plutôt que d'éditer le fichier Makefile.in dans les sources comme nous venons de l'indiquer, vous pouvez obtenir le même résultat en faisant configure --prefix=/usr/lib. 4.4 Configuration des options du programme Examinez conf.h et Makefile pour vérifier qu'ils sont corrects. J'ai utilisé les valeurs par défaut. Editez policy.h pour les besoins de votre système. * - choisissez le type de fichiers de verrouillage désiré (HAVE_HDB_LOCKFILES) * - choisissez le(s) type(s) de fichiers de configuration désiré(s) (HAVE_TAYLOR_CONFIG, HAVE_V2_CONFIG, HAVE_HDB_CONFIG) * - choisissez le type de structure voulue pour le répertoire "spool" (SPOOLDIR_HDB) * - choisissez le type de fichiers de trace désiré (HAVE_HDB_LOGGING) * - choisissez le chemin de recherche par défaut des commandes (j'ai rajouté /usr/local/bin ) 4.5 Compilation et installation des programmes * Tapez make. * Utilisez uuchk | more pour tester les fichiers de configuration. Vous pouvez employer uuconv pour convertir les différents formats entre eux. * Tapez make install pour installer les programmes. 4.6 Les fichiers de configuration Je vous recommande de commencer par prendre les bons vieux fichiers HDB fournis et de les installer. * Assurez-vous que le fichier Permissions indique exactement où se trouvent rmail et rnews s'ils sont dans un répertoire non compris dans le chemin de recherche que vous avez spécifié dans policy.h. * Vérifiez que votre fichier Devices correspond bien à votre modem (cua1=COM2 dans les exemples) * Editez le fichier Systems pour déclarer les machines avec lesquelles vous comptez communiquer, ainsi que les vitesses, numéros de téléphone, nom d'utilisateur et mots de passe. *CE FICHIER NE DOIT PAS ETRE LISIBLE PAR TOUT LE MONDE* * Rajoutez dans le fichier Permissions les lignes nécessaires pour chaque site avec lequel vous communiquerez. Pour des raisons de sécurité, il faut que chaque machine ait un compte séparé (si vous acceptez les appels entrants) et un répertoire personnel particulier, pour que vous puissiez maîtriser les accès. 4.7 Essayez la chose... /usr/lib/uucp/uucico -r 1 -x 9 -s remote_system_name Le paramètre -x 9 donne un maximum d'informations de déboguage, écrite en principe dans le fichier /usr/spool/uucp/.Admin/audit.local (ou dans /usr/lib/uucp/Log en configuration Taylor), qui aide beaucoup à la mise au point initiale. J'utilise souvent -x 4 car ce niveau de déboguage détaille suffisament les choses pour verifier les problèmes de "login". Bien entendu, le fichier traçant tout cela doit être protégé de manière à ce que personne ne puisse le lire. * _Pierre.Beyssac@emeraude.syseca.fr_ nous écrit : Taylor supporte plus de niveaux de déboguage. Utilisez -x all pour positionner le niveau maximum. Vous pouvez aussi faire un tail -f sur le fichier de trace pour voir les informations s'afficher au fur et à mesure de leur enregistrement. 4.8 Ca ne marche pas. Que faire ? En général, vous pouvez vous référer à la documentation mentionnée au début de ce guide pour trouver l'erreur. Vous pouvez aussi demander aux opérateurs des sites UUCP dont vous êtes voisins, mais souvent il ne s'agit que d'une simple faute de frappe dans un fichier de configuration. 5. Questions fréquemment posées à propos d'UUCP sous Linux 5.1 Pourquoi mon binaire de uucp est-il configuré en mode HDB plutôt qu'en Taylor ? (Je sais que certains sont aussi intransigeants sur la facilité d'emploi, que je le suis sur le fait de rester standard. C'est pour cette raison que vous disposez du code source pour faire comme vous l'entendez :-) ) Parce que mon humble avis est que le standard "de fait" des implémentations d'UUCP, est le type HDB. Il y a des milliers de sites administrés par des opérateurs expérimentés et de nombreux endroits où vous pourrez trouver des informations incroyablement correctes à propos de la configuration HDB. Les versions fournies avec certaines distributions de Linux sont compilées avec le support des trois modes possibles. Ca marche. Choisissez le vôtre. L'ordre de recherche des fichiers de configuration est Taylor, puis V2 (L.sys) et enfin HDB. Vous pouvez utiliser l'utilitaire uuconv pour convertir les différents fichiers de configuration d'un type à l'autre. Si vous ne pouvez pas attendre, prenez les sources d'UUCP et spécifiez HAVE_BNU_CONFIG, HAVE_V2_CONFIG et HAVE_TAYLOR_CONFIG, les trois à la fois, dans le fichier policy.h et tapez make. Il faut également savoir que la distribution Slackware est configurée de telle sorte qu'elle sépare les fichiers nécessaires aux différentes configuration dans plusieurs répertoires. Par exemple, ceux pour HDB se trouveront dans /usr/lib/uucp/hdb_config. 5.2 D'où viennent ces timeout sur les connexions ? * D'après _Ed Carp - erc@apple.com_ : Si vous utilisez un périphérique Direct dans le fichier Devices, il y a un timeout de 10 secondes, codé lors de la compilation. Changez le nom du périphérique pour autre chose que Direct. * _Greg Naber - greg@squally.halcyon.com_ écrit : Si vous avez des "timeout" lors des dialogues de connexion, vous pouvez régler ce problème en éditant la ligne 323 du fichier uuconf/syssub.c, afin de changer les 10 secondes par défaut pour une valeur supérieure. * _Ed Rodda - ed@orca.wimsey.bc.ca_ renchérit : En cas de "timeout" lors de connexions, particulièrement avec d'autres sites Taylor, une pause après le "login" peut régler le problème. feed Any ACU,ag 38400 5551212 ogin: \c\d "" votrenom word: votrepasse * _Dr. Eberhard W. Lisse - el@lisse.NA_ précise : Quelques noyaux Linux raccrochent prématurément la ligne au bout de quelques secondes. Le patch suivant, fourni par Ian Taylor, peut éviter ce problème. *** conn.c.orig Mon Feb 22 20:25:24 1993 --- conn.c Mon Feb 22 20:33:10 1993 *************** *** 204,209 **** --- 204,212 ---- /* Make sure any signal reporting has been done before we set fLog_sighup back to TRUE. */ + /* SMR: it seems to me if we don't care about SIGHUPS, we should clear + the flag before we return */ + afSignal[INDEXSIG_SIGHUP] = FALSE; ulog (LOG_ERROR, (const char *) NULL); fLog_sighup = TRUE; Note du traducteur : cette modification est incluse dans la version 1.05, disponible depuis fin avril 1994 ! 5.3 Pourquoi l'UUCP Anonyme semble ne pas fonctionner en mode HDB ? La version 1.04 incluse dans la distribution SLS de Linux ne fonctionne en anonyme qu'en mode Taylor, car elle est compilée avec HAVE_TAYLOR_CONFIG. Si vous voulez qu'elle marche en HDB, vous devrez la recompiler à partir des sources en définissant uniquement HDB. Ian Taylor est en train de réfléchir comment régler cette "caractéristique". Par ailleurs, Taylor en mode HDB semble être très sensible aux espaces et lignes vides. Par sécurité, assurez-vous qu'il n'y a aucune ligne vide ou espace en fin de ligne dans le fichier Permissions. Enfin, vérifiez que vous avez un fichier nommé remote.unknown dans /usr/lib/uucp et qu'il n'est PAS exécutable. Voyez le livre _Managing UUCP and USENET_ de O'Reilly pour plus de détails à ce sujet. 5.4 Que signifie l'erreur no matching ports found ? Vous êtes probablement en train d'essayer d'utiliser un périphérique qui n'existe pas (fichier /usr/lib/uucp/Devices), ou bien celui que vous avez spécifié dans /usr/lib/uucp/Systems ne correspond à aucun de ceux déclarés dans le fichier Devices. Voici ci-dessous des versions _saines_ de mes fichiers de configuration de Taylor UUCP 1.05 en mode HDB que vous pouvez en toute sécurité copier et utiliser. Vous voyez le mot ACU dans Systems ? Cela détermine quel "port" utiliser dans Devices. Vous notez le mot scout dans Systems ? Il indique quel composeur de numéro utiliser dans Dialers. Si vous aviez un port ACU, mais qu'aucun ne correspondait au numéroteur précisé sur la même ligne dans Systems, vous avez eu ce message d'erreur. 5.5 Existe-t-il de "bons" fichiers de configuration pour le mode HDB ? Ceux qui vont suivre sont "bons", pour Taylor-UUCP 1.05 sous Linux en mode HoneyDanBer. Tous ces fichiers doivent être dans /usr/lib/uucp sauf si vous avez bricolé les sources pour changer cette configuration de base. Si vous _avez_ déplacé les chemins d'accès standards, méfiez-vous car certains programmes comme sendmail peuvent être totalement perdus. Vous devez vous assurer que tous les programmes relatifs aux communications soient d'accord avec votre idée des répertoires "standard". #------------- Devices ------------- # assurez-vous que le peripherique (ici cua1) est correct pour vous. # cua1 = COM2 # # Ici, "scout" est le modem Digicom Scout Plus 19.2 que j'utilise. # tbfast, et la suite, correspondent a un modem Telebit Trailblazer Plus # a differentes vitesses. # ACU cua1 - 19200 scout ACU cua1 - 9600 tbfast ACU cua1 - 1200 tbslow ACU cua1 - 2400 tbmed #------------- Dialers -------------- # Notez l'ajustement des registres du Trailblazer "au vol" # "scout" est le modem Digicom Scout Plus 19.2 que j'utilise. # scout =W-, "" ATM0DT\T CONNECT tbfast =W-, "" A\pA\pA\pT OK ATS50=255DT\T CONNECT\sFAST tbslow =W-, "" A\pA\pA\pT OK ATS50=2DT\T CONNECT\s1200 tbmed =W-, "" A\pA\pA\pT OK ATS50=3DT\T CONNECT\s2400 #-------------- Systems ------------- # Voici une entree tres generale qui devrait fonctionner avec la plupart # des systemes. # # Le Any;1 signifie que l'on peut appeler une fois par minute avec -f (force) # Le ACU,g force le protocole "g" au lieu du Taylor "i" par defaut. # fredsys Any;1 ACU,g 19200 scout5555555 "" \r ogin:--ogin: uanon word: uanon #-------------------------------- Permissions ------------------------- # # Taylor UUCP en mode HDB est sensible aux lignes vides. # Verifiez bien que toutes les lignes sont valides ou bien commentees. # # Voici une entree UUCP Anonyme # LOGNAME=nuucp MACHINE=OTHER \ READ=/usr/spool/uucp/nuucp \ WRITE=/usr/spool/uucp/nuucp \ SENDFILES=yes REQUEST=yes \ COMMANDS=/bin/rmail # # # Voici une entree normale pour une machine distante connue qui nous # appellera. Notez le chemin d'acces absolu a rnews, qui n'est pas # du tout le chemin "standard". # LOGNAME=fredsys MACHINE=fredsys \ READ=/usr/spool/uucp/fredsys:/usr/spool/uucp/uucppublic:/files \ WRITE=/usr/spool/uucp/fredsys:/usr/spool/uucppublic \ SENDFILES=yes REQUEST=yes \ COMMANDS=/bin/rmail:/usr/local/lib/news/bin/rnews #---------------------------------------------------------------------- 5.6 Faire appeler différents numéros pour un même site par uucico La version 1.05 implémente l'option -z dans uucico, pour lui permettre d'appeler alternativement différents numéros de téléphone pour un même site. 6. Remerciements Les personnes suivantes ont aidé à rassembler les informations (et l'expérience) qui ont rendu ce document possible : Ed Carp, Steve Robbins, Ian Taylor, Greg Naber, Matt Welsh, Pierre Beyssac. Si j'ai oublié quelqu'un, je m'en excuse par avance.