LO51 : Services Utilisateurs Stéphane Galland Département Génie Informatique stephane.galland@utbm.fr http ://www.utbm.fr/set/membres/galland/enseignement/lo51/ 2003 S.Galland (GNU FDL) page 1
Sommaire 3 Configuration générale..................... 3 12 Partage d informations..................... 12 30 Internet............................. 30 43 Partage de fichiers....................... 43 56 Copyright............................ 56 2003 S.Galland (GNU FDL) page 2
Configuration générale 2003 S.Galland (GNU FDL) Configuration générale page 3
Fichier /etc/hosts Ce fichier est composé de plusieurs lignes. Chaque ligne déclare une mahcine du réseau IP. Exemple : 127.0.0.1 localhost.localdomain localhost 10.20.0.106 pc-gi-33.utbm.fr pc-gi-33 Le premier champs est l adresse IP ; le second champs est le nom de la machine ; les champs suivants sont des alias. 2003 S.Galland (GNU FDL) Configuration générale page 4
Fichier /etc/networks Ce fichier permet d associer un nom et des alias aux adresses desdifférents réseaux connus par le système. Exemple : loop 127 loopback eth1 98 net1 eth2 99 net2 utbm.fr 10.20 Le premier champs est le nom de domaine ; le second champs est le numéro IP (partiel ou non) du domaine ; les champs suivants sont des alias pour le nom de domaine. 2003 S.Galland (GNU FDL) Configuration générale page 5
xinetd xinetd (appelé sur des systèmes plus anciens inetd) est un démon jouant le rôle de point de connexion pour tout un ensemble de services réseau. Sont objectif est de fournir un seul programme pour attendre les connexions et lancer les démons permettant d y répondre. autres services xinetd/ inetd FTP telnet... 2003 S.Galland (GNU FDL) Configuration générale page 6
xinetd Les services gérés habituellement par xinetd sont : les serveurs FTP, les connexions telnet ou rlogin, les services d impression (lpd, cups,...), les services de synchronisation des horloges, parfois un serveur Apache (HTTP),... 2003 S.Galland (GNU FDL) Configuration générale page 6
Pourquoi xinetd? Pour installer un service, deux choix : 1. installer un démon gérant le service et attendant et répondant lui même aux demandes de connexion, 2. demander à xinetd de lancer ce service à chaque demande de connexion. Mais quelle solution choisir? Dans les cas où le démon est capable de répondre directement à plusieurs connexions simultanées, ou s il va devoir faire face à une charge importante, il faut l installer en mode standalone et ne pas utiliser la passerelle proposée par xinetd. Dans le cas où le démon ne peut répondre qu à une seule connexion à la fois, ou si la future charge n est pas très importante, il est plutôt conseillé d utiliser le service xinetd. 2003 S.Galland (GNU FDL) Configuration générale page 7
Configuration de xinetd Fichier de configuration /etc/xinetd.conf : defaults { instances = 60 log_type = SYSLOG authpriv log_on_success = HOST PID log_on_failure = HOST cps = 25 30 } includedir /etc/xinetd.d Chaque service doit faire l objet d un fichier de configuration visà-vis de xinetd. Ces fichiers de configuration se trouvent dans /etc/xinetd.d/. man xinetd.conf 2003 S.Galland (GNU FDL) Configuration générale page 8
Configuration de xinetd Format des fichiers de configuration dans /etc/xinetd.d/ : service <the_service> { <attribut> <assign_op> <valeur> <valeur>...... } the_service est le nom du service à configurer, attribut est le nom de l attribut à configurer, assign_op est une opération d assignation : = : assignation simple, += : ajouter les valeurs à celles existantes, -= : supprimer les valeurs à celles existantes, valeur est la valeur à assigner à l attribut. 2003 S.Galland (GNU FDL) Configuration générale page 9
Configuration de xinetd Attributs les plus intéressants : type : une combinaison des trois valeurs : RPC si c est un service RPC, INTERNAL si c est un service fourni par xinetd, UNLISTED pour un service qui n est pas listé dans un fichier système standard (/etc/rpc, /etc/services). disable : valeur yes ou no indiquant si le service est désactivé ou non socket_type : les valeurs possibles pour cet attribut sont : stream service de type stream, dgram service de type datagramme, raw service qui demande un accès direct à IP, seqpacket service qui demande une transmission de type datagramme séquentielle et fiable 2003 S.Galland (GNU FDL) Configuration générale page 10
Configuration de xinetd Attributs les plus intéressants : protocol : l un des protocoles listés dans /etc/protocols (ex : tcp) wait : valeur booléenne indiquant si xinetd doit attendre la fin de l exécution du service lancé avant d accepter une autre requête réseau user et group : identité sous laquelle doit s exécuter le service instances : nombre maximal d instances du service only_from : indique de quelles machines une requête pour ce service est acceptée no_access : inverse de only_from port : détermine le port sur lequel attend le service redirect : permet de rediriger une requête vers une autre machine (format : machine port) 2003 S.Galland (GNU FDL) Configuration générale page 11
Partage d informations 2003 S.Galland (GNU FDL) Partage d informations page 12
NIS : Network Information System L administration d un réseau informatique devient presque impossible si chaque machine possède ses propres fichiers de configuration. La communauté a introduit les serveurs NIS ( Network Information Services ) et leurs successeurs NIS+. Ils peuven, partager un certain nombre de fichiers de configuration. Ces systèmes utilisent les fichiers du serveur /etc/passwd, /etc/group,... pour générer une base de données partageable (ou maps). 2003 S.Galland (GNU FDL) Partage d informations page 13
NIS : Les maps Les maps sont des fichiers au format dbm : deux fichiers Unix normaux mapname.dir et mapname.pag. Il existe une map pour chaque type d information à partager : interfaces ethernet, utilisateurs (passwd), groupes (group), machines (hosts), protocoles réseaux (protocols), définitions des réseaux (networks),... Pour améliorer les performances de recherche, les maps sont indexées selon plusieurs critères : login et UID pour les informations sur les utilisateurs (ex : passwd.byname.* et passwd.byuid.*) nom et adresse IP pour les informations sur les machines (ex : hosts.byname.* et passwd.byaddr.*) En général, cette base de données est stockée dans /var/yp/domainname (où domainname est le nom du domaine NIS géré par le serveur - cf. commandes domainname, nisdomainname ou ypdomainname) 2003 S.Galland (GNU FDL) Partage d informations page 14
NIS : Modification de la base En général, NIS n utilise pas directement les fichiers du système dans /etc. Cela permet de ne pas partagé les comptes comme root ou tout autre information critique. Copie des fichiers du système dans /etc/yp/ pour limiter les données partagées. Modification des fichiers de /etc en ajoutant un + pour indiquer les entrées gérées par NIS : Exemple du fichier /etc/passwd : root:x:0:0:administrateur systeme:/root:/bin/bash meunier:x:7289:1000::/home/meunier:/bin/tcsh +darras +peli:::::/bin/csh Mise à jour de la base NIS avec cd /var/yp ; make passwd group. 2003 S.Galland (GNU FDL) Partage d informations page 15
Configuration du client NIS Initialisation du domaine NIS (commande domainname ou fichier /etc/defaultdomain). Modification des fichiers /etc/passwd et /etc/group comme suit : ajout de + : permet d inclure toutes les maps NIS à cet endroit, ajout d un + devant un nom de login inclu la définition NIS pour ce login, ajout d un - devant un nom de login interdit la définition NIS pour ce login, ajout d un +@ devant un nom inclu les entrées des membres du groupe spécifié, ajout d un -@ devant un nom interdit l inclusion des entrées des membres du groupe spécifié, 2003 S.Galland (GNU FDL) Partage d informations page 16
Configuration du client NIS Exemple de fichier /etc/passwd chez un client NIS root:x:0:0:administrateur systeme:/root:/bin/bash meunier:x:7289:1000::/home/meunier:/bin/tcsh +darras::::::/bin/ksh -peli:x:7124:1000::/bin/csh +@stagiaires -@exterieurs +: 2003 S.Galland (GNU FDL) Partage d informations page 17
NIS : Commandes shell ypserv : démon pour les serveur NIS principaux et esclaves, ypxfrd : mise à jour des maps des serveurs esclaves à partir du serveur principal, ypbind : démon pour les clients NIS, domainname, nisdomainname, ypdomainname : affichage et définition du domaine NIS utilisé par le client, ypwhich : indique quel serveur fournit actuellement un service spécifié en paramètre, ypcat : affiche le contenu d une maps spécifiée, ypmatch : affiche la valeur de l entrée spécifiée d une map. 2003 S.Galland (GNU FDL) Partage d informations page 18
NIS+ NIS+, proposé comme successeur de NIS, est une évolution majeure héritant à la fois ses caractéristiques de NIS et de celles du serveur de noms DNS. La sécurité de NIS+ est largement améliorée par un mode de fonctionnement basé sur les RPC sécurisées et par la mise en œuvre de mécanismes d autorisation plus fins. Ce système utilise un nom de domaine respectant les principes de ceux gérés par les DNS. Il partage les mêmes informations que NIS. Les commandes shells de NIS+ sont en général préfixées par nis et non plus par yp. 2003 S.Galland (GNU FDL) Partage d informations page 19
DNS : Domain Name Service Le réseau Internet (ici le réseau des réseau et pas le www) est une interconnexion d un ensemble d ordinateurs. Il est nécessaire de pouvoir identifier chaque machine au sein du réseau. La technique retenu est l identification d une machine par son numéro IP. Une adresse IP est un ensemble de quatre nombres compris entre 0 et 255 (ex. 127.0.0.0 est l adresse permettant le loopback ). Cette adresse devant être unique sur toute la planète (sauf cas particulier de réseaux locaux non connectés), il est nécessaire de réserver et d enregistrer une adresse IP afin d interdire son utilisation par d autres machines. 2003 S.Galland (GNU FDL) Partage d informations page 20
DNS : Domain Name Service L adresse IP est un moyen efficace est non ambigüe d accès à une machine. Mais elle reste difficile à utiliser et à mémoriser pour un être humain. La communauté a développé des mécanismes permettant de réaliser la correspondance entre une adresse IP et un nom de machine (ex. www.utbm.fr) : les serveurs DNS. RFC 1032 : Domain Administrators Guide (M. Stahl) ; RFC 1033 : Domain Administrators Operation Guide (M. Lottor) ; RFC 1034 : Domain Names - Concept and Facilities (P. Mockapetris) ; RFC 1035 : Domain Names - Implementation and specification (P. Mockapetris). 2003 S.Galland (GNU FDL) Partage d informations page 21
DNS : Mode de fonctionnement L organisation hiérarchique du DNS est effectuée selon deux critères : le premier (exclusivement aux USA) adopte un découpage en secteur d activité et nomme les domaines en utilisant trois lettres ; le second est géographique et il désigne à l aide de deux lettres une nation.. com edu gov uk fr us berkeley mit stanford inria enst onera 2003 S.Galland (GNU FDL) Partage d informations page 22
DNS : Mode de fonctionnement. com edu gov uk fr us berkeley mit stanford inria enst onera Dans le cadre de cette organisation hiérarchique, chaque nœud (ou sous-arborescence) est pris en charge par un ou plusieurs serveurs DNS. Les serveurs à la racine doivent connaitre tous les domaines racines (org, com,...) et sont, par conséquent, connus et enregistrés au près de l oganisme de tutelle d Internet (DARPA, puis FNC/CCIRN/COMM L). 2003 S.Galland (GNU FDL) Partage d informations page 22
DNS : Mode de fonctionnement Chaque serveur de nom connait le nom d un serveur racine et d un serveur immédiatement supérieur. La procédure de résolution d un nom se déroule en deux étapes : 1. résolution locale en parcourant les tables du serveur, 2. propagation de la demande de résolution aux autres serveurs DNS. Pour éviter de saturer les serveurs, chaque résolution aboutie est sauver localement par le serveur DNS. Les modes de fonctionnement sont : normal : le serveur satisfait directement les requêtes qu il reçoit ; retransmetteur : le serveur retransmet les requêtes qu il ne sait pas satisfaire à une liste de serveurs au lieu d interroger des serveurs de domaine racine ; esclave : le serveur retransmet toutes les requêtes vers une liste de serveurs retransmetteurs. 2003 S.Galland (GNU FDL) Partage d informations page 22
DNS : Types des serveurs Il existe plusieurs types de serveurs : les serveurs maîtres : ils maintiennent à jour la base de données des noms. Ils peuvent être de deux types : les serveurs primaires qui maintiennent les données sur disque et peuvent déléguer leurs fonctions à des serveurs secondaires ; ils font autorités pour la zone qu ils servent ; il y en a un seul par zone ; les serveurs secondaires qui reçoivent périodiquement leurs données des serveurs primaires pour assurer le rôle de secour en cas de défaillance ou de surcharge de ces derniers. les serveurs cache : ils ne contrôle pas de base de données, mais réalise seulement de rôle d un cache entre les interrogateurs et les serveurs maîtres. les serveurs du domaine racine : ont connaissance de toues les domaines racine de linternet. Ils sont exclusivement gérés par l organisme de tutelle d Internet ou tout autre organisme associé. 2003 S.Galland (GNU FDL) Partage d informations page 23
DNS : Configuration Le service permettant de gérer un DNS est bind ( Berkeley Internet Name Daemon ) ou named. Côté client ( solver ) : La seule opération nécessaire consiste à configurer le fichier /etc/resolv.conf domain utbm.fr nameserver 127.0.0.1 nameserver 144.204.65.4 nameserver 192.70.57.3 Ce fichier contient la définition du nom de domaine dans lequel se toruve la machine cliente, ainsi qu une liste des serveurs DNS connus par ce client. Le nom de domaine est utilisé pour nommer complètement les machines pour lesquelles il n y a pas de nom de domaine. Si cette ligne n est pas présente, c est le résultat de la commande domainname qui sera alors utilisé. 2003 S.Galland (GNU FDL) Partage d informations page 24
DNS : Configuration Le service permettant de gérer un DNS est bind ( Berkeley Internet Name Daemon ) ou named. Côté serveur : Le serveur est en général lancé en même temps que le système (cf. /etc/rc.d). Il utilise par défaut le fichier de configuration /etc/named.boot. Le démon attend les requêtes sur le port 42 à la fois sur TCP et UDP. Chaque fois que le démon intercepte un signal determinaison (SIG- HUP, SIGINT,...), il vide ses caches et relie les fichiers de configuration. 2003 S.Galland (GNU FDL) Partage d informations page 25
DNS : /etc/named.boot Le fichier de configuration contient des définitions respectant le format : <statement> ["<statement-name>"] [<statement-class>] { <option-1> ; <option-n> ; } ; <statement> : type de la définition acl : définition d une liste d adresses IP. Certaines listes existent déjà : any, none, localnets, localhost acl ma_liste { 10.0.1.0/24 ; } ; logging : permet d utiliser de multiples types de logs, appelés des channels 2003 S.Galland (GNU FDL) Partage d informations page 26
DNS : /etc/named.boot Le fichier de configuration contient des définitions respectant le format : <statement> ["<statement-name>"] [<statement-class>] { <option-1> ; <option-n> ; } ; <statement> : type de la définition options : assigne des valeurs à de nombreuses options. allow-query hôtes qui seront autorisés à entamer des requêtes auprès de ce serveur de noms allow-recursion similaire à l option allow-query, si ce n est qu elle s applique à des requêtes récursives directory transforme le répertoire de fonctionnement de named en autre chose que le répertoire par défaut /var/named 2003 S.Galland (GNU FDL) Partage d informations page 26
DNS : /etc/named.boot Le fichier de configuration contient des définitions respectant le format : <statement> ["<statement-name>"] [<statement-class>] { <option-1> ; <option-n> ; } ; <statement> : type de la définition options : assigne des valeurs à de nombreuses options. forward si égale à first, les requêtes sont envoyées d abord aux serveurs spécifiées par l option forwaders puis tentera la résolution ; si égale à only, le serveur ne tentera aucune résolution en cas d échec des autres serveurs forwarders liste de serveurs de noms vers lesquels il faut faire suivre les requêtes pour résolution 2003 S.Galland (GNU FDL) Partage d informations page 26
DNS : /etc/named.boot Le fichier de configuration contient des définitions respectant le format : <statement> ["<statement-name>"] [<statement-class>] { <option-1> ; <option-n> ; } ; <statement> : type de la définition options : assigne des valeurs à de nombreuses options. notify détermine si named envoie notification aux serveurs esclaves quand une zone est mise à jour (valeurs : yes, no, explicit) 2003 S.Galland (GNU FDL) Partage d informations page 26
DNS : /etc/named.boot Le fichier de configuration contient des définitions respectant le format : <statement> ["<statement-name>"] [<statement-class>] { <option-1> ; <option-n> ; } ; <statement> : type de la définition zone : spécifie des zones particulières pour lesquelles ce serveur de noms fait autorité : zone "mondomain.org" { type master ; file "db.mondomain.org" ; } ; 2003 S.Galland (GNU FDL) Partage d informations page 26
DNS : /etc/named.boot Le fichier de configuration contient des définitions respectant le format : <statement> ["<statement-name>"] [<statement-class>] { <option-1> ; <option-n> ; } ; <statement> : type de la définition zone : spécifie des zones particulières pour lesquelles ce serveur de noms fait autorité : allow-query spécifie les clients qui sont autorisés à requérir des informations à propos de cette zone allow-transfer spécifie les serveurs esclaves qui sont autorisés à requérir un transfert des informations de la zone allow-update spécifie les hôtes qui sont autorisés à mettre à jour dynamiquement des informations dans leur zone 2003 S.Galland (GNU FDL) Partage d informations page 26
DNS : /etc/named.boot Le fichier de configuration contient des définitions respectant le format : <statement> ["<statement-name>"] [<statement-class>] { <option-1> ; <option-n> ; } ; <statement> : type de la définition zone : spécifie des zones particulières pour lesquelles ce serveur de noms fait autorité : file nom du fichier qui contient les données de configuration de la zone masters listes des serveurs maîtres pour cet esclave (type = slave) notify cf notify de options 2003 S.Galland (GNU FDL) Partage d informations page 26
DNS : /etc/named.boot Le fichier de configuration contient des définitions respectant le format : <statement> ["<statement-name>"] [<statement-class>] { <option-1> ; <option-n> ; } ; <statement> : type de la définition zone : spécifie des zones particulières pour lesquelles ce serveur de noms fait autorité : type définit le type de zone : forward master slave ce serveur fait suivre toutes les requêtes serveur de nom maître serveur de nom esclave 2003 S.Galland (GNU FDL) Partage d informations page 26
DNS : exemple de fichier /etc/named.boot acl le_monde { 10.0.2.0/24 ; 192.168.0.0/24 ; } ; zone "domain.com" { type master ; file "domain.com.zone" ; allow-update { none ; } ; } ; zone "le_monde.org" { type slave ; file "le_monde.org.zone" ; masters { 10.20.2.25 ; le_monde ; } ; } ; 2003 S.Galland (GNU FDL) Partage d informations page 27
DNS : Syntaxe des fichiers de zone $INCLUDE fichier $ORIGIN domaine $TTL temps ; commentaire <domaine> <ttl> <classe> <type> <données> $INCLUDE fichier permet d inclure un fichier de configuration. $ORIGIN domaine permet de définir le domaine par défaut de ce serveur DNS. <domaine> est égal à l une des valeurs suivantes :. pour la racine, @ pour l origine courante ; ou un nom de domaine standard comme utbm.fr. $TTL et <ttl> indiquent un temps de vie. <classe> prend la valeur IN pour Internet. 2003 S.Galland (GNU FDL) Partage d informations page 28
DNS : Syntaxe des fichiers de zone $INCLUDE fichier $ORIGIN domaine $TTL temps ; commentaire <domaine> <ttl> <classe> <type> <données> <type> est l une des valeurs suivantes : SOA : début de zone @ SOA nom_server admin_email ( ) ; <serial-number> ; <time-to-refresh> ; # Délai rafraichissement esclave <time-to-retry> ; # Recommencer le rafraichissement <time-to-expire> ; # Arr^eter le rafraichissement <minimum-ttl> ; 2003 S.Galland (GNU FDL) Partage d informations page 28
DNS : Syntaxe des fichiers de zone $INCLUDE fichier $ORIGIN domaine $TTL temps ; commentaire <domaine> <ttl> <classe> <type> <données> <type> est l une des valeurs suivantes : A : une adresse IP en notation décimale pointée ; CNAME : un alias ; HINFO : information concernant la machine ; NS : déclare la machine serveur de nom pour le domaine indiqué ; MX : un centre de tri pour le courrier électronique ; MB : la machine sur laquelle un utilisateur reçoit son courrier ; MR : un alias pour un utilisateur déclaré par MB ; 2003 S.Galland (GNU FDL) Partage d informations page 28
DNS : Syntaxe des fichiers de zone $INCLUDE fichier $ORIGIN domaine $TTL temps ; commentaire <domaine> <ttl> <classe> <type> <données> <type> est l une des valeurs suivantes : MINFO : déclare un nom de liste de diffusion ; MG : déclara la liste des membres d une liste de diffusion ; WKS : les services TCP/IP servis par une machine ; PTR : un pointeur sur nom de domaine. 2003 S.Galland (GNU FDL) Partage d informations page 28
DNS : Exemple de fichier de zone $ORIGIN domain.com $TTL 86400 @ IN SOA dns1.domain.com. hostmaster@domain.com. ( 2001062501 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expires after 1 week 86400 ) ; minimum TTL of 1 day @ IN NS dns1.domain.com. IN NS dns2.domain.com. IN MX 10 mail.domain.com. server1 IN A 10.0.1.5 server2.domain.com. IN A 10.0.1.7 ftp IN CNAME server1 www IN CNAME server2 2003 S.Galland (GNU FDL) Partage d informations page 29
Internet 2003 S.Galland (GNU FDL) Internet page 30
Serveur HTTP Le World-Wide Web est un système hypertexte et multimédia créé par des chercheurs du CERN. Les bases de la techonlogie W3 sont jetées dans le courant de l année 1989, mais c est le butineur Mosaïc développé en 1993 par le NCSA qui favorise la diffusion de cette technologie. Le principe d un serveur W3 est de prendre la description de pages HTML dans une source de données et de l envoyer à l émetteur de la requête HTTP pour affichage. Les sources d un page HTML sont diverses : un fichier HTML contenant la description de la page et se trouvant dans un système de fichiers accessible au serveur. un script CGI qui permet de générer à la volée un page HTML. Ce script est en général écrit en C ou en Perl. un script interprété fonctionnant comme les scripts CGI mais utilisant un langage dédié au W3 : PHP ou ASP. Le protocole HTTP est utilisé pour transmettre des pages. Il s appuie sur TCP/IP et est utilisé par un seveur W3 écoutant par défaut sur le port 80. 2003 S.Galland (GNU FDL) Internet page 31
Serveur Apache Apache a été développé à partir de la version 1.3 du serveur httpd du NCSA. L interruption des développements des serveurs CERN/W3C et NCSA a permis à Apache de devenir le standard de fait en métière de serveur W3. Apache est lancé en mode autonome ( standalone ) grâce à httpd (en général /usr/sbin/httpd) ou par le service réseau xinetd. Ses fichiers de configuration se trouve dans /etc/httpd/conf. Les fichiers classiques de configuration sont : httpd.conf : caractéristiques générales du serveur ; access.conf : définition des droitsd accès ; mime.types : définition des types MIMES. 2003 S.Galland (GNU FDL) Internet page 32
Configuration générale d Apache ServerType standalone # Répertoire où s exécute le serveur ServerRoot <path> # Nom et port identifiant ce serveur ServerName <host>[ :<port>] # Répertoire où se trouve l arborescence visible DocumentRoot <path> # Inclusion d un fichier de configuration Include <file> # Fichier de log ErrorLog <file> 2003 S.Galland (GNU FDL) Internet page 33
Configuration générale d Apache # Niveau de verbage des logs : # emerg Emergencies - system is unusable # alert Action must be taken immediately # crit Critical conditions # error Error conditions # warn Warning conditions # notice Normal but significant condition # info Informational # debug Debug-level messages LogLevel emerg alert crit error warn notice info debug # Autorise plus d une requ^ete par connexion KeepAlive On Off 2003 S.Galland (GNU FDL) Internet page 33
Configuration générale d Apache # Nombre max de requ^etes simultanées MaxKeepAliveRequests <number> # Nombre de serveurs lancés initiallement StartServers <number> # nombre de serveurs simultanés MaxClients <number> 2003 S.Galland (GNU FDL) Internet page 33
Droits d accès avec Apache # Identité du propriétaire du serveur User <user-name> Group <group-name> # Identité de l administrateur ServerAdmin <email> # Droit d accès du serveur à un répertoire # Répertoire des pages des utilisateurs UserDir <path> # Fichiers d index DirectoryIndex <file-name>... # Fichier surchargeant les droits d accès AccessFileName <file-name> 2003 S.Galland (GNU FDL) Internet page 34
Droits d accès avec Apache # Aliases pour les URL Alias <path-part-of-url> <real-path> # Aliases pour les scripts CGI ScriptAlias <path-part-of-url> <real-path> # Ajout d un type MIME AddType <mime-type> <extension> # Associer une extension à une fonctionnalité du serveur AddHandler <handler-name> <extension> # Pages affichées lors d une erreur ErrorDocument <number> <error-message> <url> 2003 S.Galland (GNU FDL) Internet page 34
Droits d accès avec Apache # Configuration des accès d un répertoire local Directory <path> <global-option> <access-option>... /Directory # Configuration des accès d une URL Location <path> <global-option> <access-option>... /Location 2003 S.Galland (GNU FDL) Internet page 34
Droits d accès avec Apache # Configuration des accès de fichiers Files <filename> /Files <global-option> <access-option>... access-option peut être : Order <ordering> Deny from all <host> env=<env-variable>... Allow from all <host> env=<env-variable>... 2003 S.Galland (GNU FDL) Internet page 34
Droits d accès avec Apache access-option peut être : AllowOverride All None <directive-type> AuthConfig FileInfo Indexes Limit Options directives d autenficiation contrôle des types de documents contrôle des indexes de répertoires contrôle des accès machines options des répertoires 2003 S.Galland (GNU FDL) Internet page 34
access-option peut être : Options [+ -]option... All ExecCGI FollowSymLinks Includes Indexes MultiViews Droits d accès avec Apache toutes sauf MultiViews exécution des CGI autorisée suivre les liens symboliques autorise les inclusions SSI affiche le contenu d un répertoire n ayant pas d index MultiViews autorisé 2003 S.Galland (GNU FDL) Internet page 34
Scripts PHP Pour autorisé l exécution de scripts PHP, il suffit d installer le module PHP d Apache et de correctement le configurer. 1. Charger le module dynamique permettant l inteprétation de scripts PHP : LoadModule php4_module extramodules/libphp4.so 2. Ajouter le module dans la liste des modules chargés par Apache : AddModule mod_php4.c 3. Mise-à-jour de la liste des indexes pour accepter les pages PHP : DirectoryIndex index.html index.php 4. Ajouter le type MIME pour les pages PHP : AddType application/x-httpd-php.php 2003 S.Galland (GNU FDL) Internet page 35
Serveurs Virtuels Un serveur Apache peut accepter qui semblent destinées à une autre machine. Cette dernière est une adresse virtuelle gérée par ce serveur Apache. Ainsi, un serveur Apache peut réagir différement en fonction du nom de la machine compris dans l URL demandée. VirtualHost <addr>[ :<port>]... <http-option>... /VirtualHost <adr> est l adresse du serveur virtuel. Elle peut être : l adresse IP du serveur virtuel ; un nom complet de domaine correspondant à l adresse IP du serveur virtuel ; le caractère * pour représenter toutes les adresses IP ; _default_ pour toutes les adresses IP non reconnues. 2003 S.Galland (GNU FDL) Internet page 36
Agent mail Le client email est en général mail. On le nomme aussi agent utilisateur car il permet d envoyer des email, mais aussi d avoir accès à sa propore boîte email. La configuration de mail se réalise via les fichiers /etc/mail.rc ou ~/.mailrc : set ask autoprint dor msgprompt set record= /Mail/sent set crt=24 Les commandes acceptées dans le fichier de commande sont : set name[=value] [name[=value]...] : ajout d un option, unset name [name...] : retrait d une option, alias : définition d un alias. 2003 S.Galland (GNU FDL) Internet page 37
Options de mail append : ajoute les nouveaux messages à la fin de la boîte ; ask, asksub, askcc, askbcc : demande à chaque nouveau message le sujet, la copie carbone, la copie carbone cachée. dot : un point seul sur une ligne indique la fin d un message ; ignore : fait que les signaux d interruption provenant de votre terminal soient ignorés et affichés commes des @ s ; ignoreeof : refuse un ctrl-d comme fin de message ; metoo : autorise l expéditeur à recevoir les emails lorsqu il fait partie des destinataires ; header, noheader : état de l affichage des entêtes des emails ; save, nosave : (dé)active la sauvegarde automatique des emails abordés dans le fichier dead.letter ; Replyall : inverse le sens des commandes reply et Reply ; 2003 S.Galland (GNU FDL) Internet page 38
Démon sendmail Le démon sendmail est l agent transporteur des emails. Il sert d intermédiaire entre les agents utilisateurs (mail) et les agents distributeurs (mail, sendmail,...). Les fichiers utilisés par sendmail pour sa configuration sont : /etc/aliases : alias d emails ; /etc/mail/sendmail.cf : fichier général de configuration ; ~/.forward : regroupement, ou renvoi des emails d un utilisateur. 2003 S.Galland (GNU FDL) Internet page 39
Fichier /etc/aliases Ce fichier contient les définitions des aliases d emails (alias simples ou listes de diffusions) bin : root nobody : root operator : root list : root,stephane.galland@utbm.fr Ce fichier n est pas directement lu par le démon sendmail. Ce dernier utilise /etc/aliases.db qui est une compilation binaire du fichier texte. Pour obtenir /etc/aliases.db, vous pouvez utiliser : la commande newaliases (sans paramètres) qui permet de reconstruire la base, la commande sendmail -bi qui réalise la même tâche. 2003 S.Galland (GNU FDL) Internet page 40