Next Previous Contents

6. Les fichiers de configuration

6.1 Taylor-UUCP

Ouf ! Passons maintenant aux choses sérieuses ;-) et étudions comment fonctionne une connexion uucp aux travers des ses fichiers de configuration.

Pour fonctionner UUCP a besoin de 4 fichiers de configuration :

1- Un fichier général où on écrit, au minimum, le nom du système :

/etc/uucp/config

Par défaut, le nom uucp de la machine est celui donné par la commande hostname donc si celui-ci vous convient, vous n'avez pas besoin de renseigner ce fichier.

2- Un fichier qui écrit comment se connecter à chacune des autres machines UUCP auxquelles on va se connecter. Ce fichier contient entre autre les noms des machines voisines et la façon de s'y connecter.

/etc/uucp/sys

Ce fichier contient autant de "strophes" (pour user de la langue poétique) que de machines voisines. Dans chaque strophe on retrouve une ligne "port" qui pointe sur une entrée contenue dans un troisième fichier : /etc/uucp/port.

3- Un fichier qui contient les informations spécifiques à la liaison. Par exemple, le fichier de périphérique à utiliser, les vitesses, le type de modem, etc.

/etc/uucp/port

Ce fichier est également organisé en "strophes". dans chaque strophe on retrouve une ligne "dialer" qui pointe sur une entrée contenue dans un quatrième fichier : /etc/uucp/dialer.

4- Un fichier qui contient la liste des commandes nécessaires pour appeler un site avec un numéro de téléphone donné.

/etc/uucp/dialer

Compliqué ? Un petit dessin permettra de mieux comprendre les interactions des fichiers de configuration de Taylor UUCP :

le fichier config: décrit les infos locales
+-----------------------------------------+
|                                         |
| hostname          batman                |
| passwdfile        /etc/uucp/passwd      |
| .../...                                 |
|                                         |
+-----------------------------------------+
  

le fichier sys: où et
comment se connecter
+--------------------+    le fichier port: décrit
|  system  gyptis    |    chaque entrée "port" 
|  port    BATMAN-1  |    +---------------------+    le fichier dial: décrit
|  speed   115200    |    |                     |    chaque entrée "dialer"
|  .../...           |--->| port    BATMAN-1    |    +---------------------+
|                    |    | type    modem       |    |                     |
|                    |    | speed   115200      |--->| dialer USR-ROBOTIC  |
|  system   joker    |    | device  /dev/ttyS0  |    | chat   "" ATZ ...   |
|  port     BATMAN-2 |    | dialer  USR-ROBOTIC |    | .../...             |
|  speed    38400    |    | .../...             |    |                     |
|  .../...           |    |                     |    | dialer OLITEC       |
|                    |    | port    BATMAN-2    |    | chat   "" ATZ ...   |
+--------------------+    | type    modem       |    |                     |
                          | speed   38400       |    +---------------------+
                          | device  /dev/ttyS1  |
                          | dialer  OLITEC      |
                          | .../...             |
                          |                     |
                          +---------------------+




   .-----------------------------------------------------------------.
   | Et voici un exemple réel avec système appelé par modem (gyptis) |
   | et un système appelé au dessus d'une couche TCP/IP (robin)      |
   `-----------------------------------------------------------------'

   #BATMAN: /etc/uucp/config
   #-------------------------------------------------------------
   hostname          batman
   passwdfile        /etc/uucp/passwd
   #
   unknown send-request            true
   unknown max-remote-debug        none
   unknown remote-send             /home/ftp/
   unknown remote-receive          /home/ftp/incoming
   unknown commands                rmail rnews rsmtp
   #-----------------------------------------------------<EOF>---

Note : passwdfile permet d'utiliser un fichier de mots de passe pour les appels ENTRANTS (ceux qui se connectent sur votre machine).

Grâce à ce fichier, Taylor-UUCP permet d'utiliser des paires (user, password) sans être obligé de créer une entrée supplémentaire pour "user" dans /etc/passwd.

Pour les appels SORTANTS (quand VOUS vous connectez à une autre machine) il est possible d'utiliser le même mécanisme grâce au fichier /etc/uucp/call. Si vous ne voulez pas utiliser de fichier call, il faudra mettre en clair votre login et votre mot de passe dans le fichier sys.

   #BATMAN: /etc/uucp/passwd : concerne les appel ENTRANTS
   #-------------------------------------------------------------
   # l'user Uvictor se connecte à BATMAN 
   # avec le mot de passe "BnU%s4@5"
   #
   # login         password
   #------------------------------
   #
   Uvictor         BnU%s4@5
   #       ^^^^^^^ tabulation ici
   #-----------------------------------------------------<EOF>--- 

   #BATMAN: /etc/uucp/call : concerne les appel SORTANTS
   #-------------------------------------------------------------
   #system   login    password
   #-----------------------------
   #
   gyptis    Ubatman   +='sd7A&
   robin     Udenis    5s$£sdZ8
   #-----------------------------------------------------<EOF>---

   #BATMAN: /etc/uucp/sys
   #-------------------------------------------------------------
   #
   # définition des protocoles possibles
   # -----------------------------------
   protocol itgvG
   protocol-parameter G packet-size 1024
   protocol-parameter G short-packets
   #
   # directives demandant d'utiliser le fichier /etc/uucp/call
   # ---------------------------------------------------------
   call-login    *
   call-password *
   #
   #
   #
   #========================================================
   #
   #   Denis BRAUSSEN 15 nov 1998
   #   acces au système  "gyptis" par modem
   #
   #   note: les mots de passe sont évidemment fantaisistes.
   #=========================================================
   system          gyptis
   #
   # batman peut appeler à n'importe quel moment.
   # il est possible de mettre ici des restrictions
   # (jours et/ou heures) pour ne permettre les appels
   # qu'à certains moments.
   #---------------------------------------------
   time            Any
   #
   # donnez n'importe quel nom grotesque à votre 
   # entrée dans le fichier /etc/uucp/port :-)
   #----------------------------------------------
   port            batman_serial1
   #
   # le numéro de téléphone de gyptis
   #----------------------------------------------
   phone           0491604361
   #
   # la vitesse maximale autorisée 
   # entre le modem et votre ordinateur.
   # hélas, il ne s'agit pas de la vitesse de
   # transfert entre les 2 modems distants ! :)
   #----------------------------------------------
   speed           115200
   #
   #
   #-----------------------------------------------
   #
   # le "chat" (dialogue) lors de la connexion
   #
   # note: \L et \P demandent d'inclure le login
   #       et le password (respectivement) trouvés
   #       dans /etc/uucp/call 
   #-----------------------------------------------
   chat            "" \r\c ogin: \L word: \P
   #
   #
   #-----------------------------------------------
   # exemple si on n'utilise pas /etc/uucp/call
   # pensez à désactiver les lignes
   #   call-login    *
   #   call-password *
   #
   #chat            ogin: Ubatman word: +='sd7A&
   #-----------------------------------------------
   #
   # si le chat échoue, on se déconnecte après 190 
   # secondes
   #-----------------------------------------------
   chat-timeout    190
   #
   #
   # liste des commandes que batman peut exécuter sur gyptis
   # cette liste est donnée par l'administrateur de gyptis
   # car dans son /etc/uucp/sys il a défini ces commandes
   # comme étant valides pour batman grâce à une ligne comme
   # "commands rmail rnews rsmtp" dans la strophe décrivant
   # batman. Ici, on rends simplement le procédé symétrique
   # afin que gyptis puisse exécuter les mêmes commandes sur
   " batman.
   # ------------------------------------------------------- 
   commands        rmail   rnews   rsmtp
   #
   # 
   # liste des protocoles que batman peut utiliser avec gyptis
   # je choisis ce qui me conviens le mieux (certains préfèrent 
   # d'ailleurs le protocole "g", _parfois_ plus rapide)
   # ---------------------------------------------------------
   protocol       it
   #
   #
   #
   #===========================================================
   #
   #   Denis BRAUSSEN 15 nov 1998
   #   acces au système robin en passant par TCP/IP
   #
   #
   #============================================================
   system        robin
   #
   # uniquement pour TCP/IP
   #-----------------------------------------
   address       robin.gotham.city
   time          any
   port          TCP
   #
   # sous TCP/IP seul le protocole "t" est possible
   #------------------------------------------------
   protocol      t
   chat          "" \r\c ogin:-BREAK-ogin:-BREAK-ogin: \L word: \P
   #
   # idem mais sans /etc/uucp/passwd
   # pensez à désactiver les lignes
   #   call-login    *
   #   call-password *
   #------------------------------------------------
   #chat          "" \r\c ogin: Udenis  word: 5s$£sdZ8
   #
   commands      rmail rnews
   #
   # définition des répertoires d'où peuvent
   # être envoyés et où peuvent être reçu les fichiers
   #
   # / signifie "tous les répertoires"
   #
   # ~ signifie "uniquement le répertoire public local" 
   #   en général:  /var/spool/uucppublic
   #---------------------------------------------------
   remote-send     /
   remote-receive  ~
   #-----------------------------------------------------<EOF>---

   #BATMAN: /etc/uucp/port
   #-------------------------------------------------------------
   #
   # Note: on retrouve les entrées "batman_serial1" et "TCP"
   #       annoncées dans le fichier /etc/uucp/sys
   #
   #*************************************************************
   # Description for the SERIAL port - DON'T DELETE.
   # ==============================================
   port            batman_serial1
   type            modem
   device          /dev/ttyS0
   speed           115200
   #
   # donnez n'importe quel nom étrange à l'entré
   # destinée au fichier /etc/uucp/dial 
   #-------------------------------------------
   dialer          USRvi
   #**************************************************************
   #
   #
   #
   #**************************************************************
   # Description for the TCP port - pretty trivial. DON'T DELETE.
   # ============================================================
   port TCP
   type tcp
   #**************************************************************
   #
   #-----------------------------------------------------<EOF>---
   #BATMAN: /etc/uucp/dial
   #-------------------------------------------------------------
   #
   # Note: on retrouve l'entrée "USRvi" annoncée dans le fichier 
   #       /etc/uucp/port. 
   #
   #--------------------------------------------------------
   #USRvi== USR-ROBOTIC SPORSTER vi 33.6
   #        cette chaine d'init utilise un registre non documenté
   #        qui permet d'éviter les "numéro brulés" (S40=7)
   #        (on parle aussi de "blackList"
   #
   #        ATTENTION:
   #        ----------
   #        Notez également le "OK" après la chaine ATZ. C'est obligatoire
   #        si on veut rajouter d'autres initialisations et un simple
   #        ATZATS7=45S0=0L1V1X4&C1E1Q0S40=7 OK ATDT\T CONNECT ne 
   #        FONCTIONNERAIT PAS !!  
   #
   #        TIP: pour les modems USR Robitic, il est parfois préférable 
   #        ***  d'utiliser la chaine d'initialisation  AT&F1 OK au lieu
   #             de ATZ OK 
   #
   #
   dialer      USRvi
   chat        "" ATZ OK ATS7=45S0=0L1V1X4&C1E1Q0S40=7 OK ATDT\T CONNECT
   #
   #--------------------------------------------------------
   # exemples corrects mais plus simples
   # note: le \T sera remplacé à l'exécution par le numéro de
   #       téléphone du système à appeler. 
   #
   #chat       "" ATZ OK ATS40=7 OK ATDT\T CONNECT
   #chat       "" ATZ OK ATDT\T CONNECT
   #------------------------------------------------<EOF>---

Marc Schaefer nous précise :

«en utilisant le mode 'pipe' on peut aussi faire de l'UUCP par ssh.
 Il faut un patch à ssh cependant. Me le demander à <schaefer@alphanet.ch>»

6.2 Les droits des fichiers de configuration

Ils doivent appartenir à l'user uucp et au groupe uucp. En général ces droits sont par défaut :

-rw-r--r-- (644)

--> Personnellement je les ai mis à : -rw-r----- (640)

SAUF les fichiers call et passwd qui sont en

-rw-r----- (640)
par défaut.

--> Personnellement je les ai mis à : -rw------- (600)
car ces mots de passe ne doivent pas pouvoir être lus par n'importe qui.

6.3 Configuration supplémentaire pour la connexion par TCP/IP

Il faut s'assurer que le fichier /etc/services contienne bien les lignes suivantes :

   #/etc/services
   #------------------------------------------------------------
   uucp-path       117/tcp
   #
   uucp            540/tcp         uucpd           # uucp daemon
   #
   #-------------------------------------------------------------

Assurez vous également que le super Daemon inetd puisse assurer la wrapping d'uucp en vérifiant que la ligne suivante existe bien dans /etc/inetd.conf :

   #/etc/inetd.conf
   #------------------------------------------------------------
   uucp  stream  tcp  nowait  uucp  /usr/sbin/tcpd    uucico  -l
   #------------------------------------------------------------

Tip : en cas de mise à jour de ce fichier faites un

ps -x | grep inetd

pour connaître le PID de inetd puis réinitialisez le super daemon par un (sans les < >) :

kill -HUP <PID-de-inetd>

6.4 Un petit mot sur setserial (configuration de la ligne série).

Rien de spécial à priori. Je vous livre toutefois la configuration de batman (SlackWare) :

  #!/bin/sh
  #
  # /etc/rc.d/rc.serial
  #       Initializes the serial ports on your system
  #
  # Denis BRAUSSEN 01-09-1997. voir intmodem.txt dans doc.fr de la slackware
  #-------------------------------------------------------------------------
  echo "entering /etc/rc.serial"
  #
  #mise en place controle de flux par RTS CTS
  stty crtscts < /dev/ttyS0
  #
  #configuration pour un port serie rapide
  setserial /dev/ttyS0 spd_vhi
  #
  echo "/etc/rc.serial is done."
  #
  #affiche configuration
  setserial -bg /dev/ttyS0
  #
  #-------------------------------------------------------------------------

Sur une distribution Debian, on peut modifier /etc/rc.boot/*0setserial et remplacer la ligne :

STD_FLAGS="session_lockout"

par

STD_FLAGS="session_lockout spd_vhi"

Next Previous Contents