Administration système UNIX version 7.0
|
|
|
- Agathe Desmarais
- il y a 10 ans
- Total affichages :
Transcription
1 Administration système UNIX version 7.0 Partie Thierry Besançon Philippe Weill Formation Permanente Université Pierre et Marie Curie - PARIS 6 Tour centrale 13 e étage 4, place Jussieu Paris Cedex 05 Tél. : ou ou Fax : [email protected]
2 Les animateurs de ce cours peuvent être joints aux adresses suivantes : [email protected] [email protected] Ce cours est disponible au format PDF sur le web à l URL : Si vous améliorez ce cours, merci de m envoyez vos modifications! :-) Copyright (c) by [email protected] This material may be distributed only subject to the terms and conditions set forth in the Open Publication Licence, v1.0 or later (the latest version is available at "...the number of UNIX installations has grown to 10, with more expected..." - Dennis Ritchie and Ken Thompson, June 1972
3 Table des matières N Ó de transparent Chapitre 31 Gestion des comptes utilisateurs Le fichier /etc/passwd Format du fichier /etc/passwd, <pwd.h> Chiffrement des mots de passe : crypt() Cycle du mot de passe et commande passwd Cycle du mot de passe et commande login Shadow passwords, /etc/shadow, <shadow.h> Le fichier /etc/group, <grp.h> Création d un nouveau compte Compte root Comptes fictifs système Commande id Commande groups Commande su Deviner des mots de passe (Windows : : net user) (Windows : : cusrmgr.exe) (Windows : : lusrmgr.msc) (Windows : : secpol.msc) Interdiction des logins (Windows : : Interdiction des logins) (Windows : : perte du mot de passe de l administrateur) Chapitre 32 NIS Architecture de NIS Données NIS : maps NIS, DBM, ypcat, ypmatch Client NIS, domainname, ypbind, ypwhich, ypset Slave server NIS, ypserv, ypxfr Master server NIS, ypxfrd, rpc.yppasswdd, yppasswd Netgroups Installation de NIS Chapitre 33 NIS Chapitre 34 LDAP Problématique Principe d annuaire Annuaire LDAP Modèle de données de LDAP : DIT, suffixe Modèle de données de LDAP : entrée, attributs, DN, URL Modèle de données de LDAP : schéma, syntaxes, OID, objectclass Protocole LDAP / Bind Format de données LDIF Implémentations OpenLDAP ObjectClass posixaccount, shadowaccount Un peu de bibliographie Chapitre 35 Sélection de naming services, /etc/nsswitch.conf Problématique Syntaxe de /etc/nsswitch.conf Exemple de /etc/nsswitch.conf A propos de LDAP Chapitre 36 Pluggable Authentification Module, PAM Problématique Principe de PAM
4 3 Fichier de configuration /etc/pam.conf Directives d essai des modules Modules, /usr/lib/security Options des modules Exemple Exemple A propos de LDAP Un peu de bibliographie Chapitre 37 Connexion des utilisateurs Fichier utmp : <utmp.h> Fichier utmpx : <utmpx.h> Fichier wtmp : <utmp.h> Fichier wtmpx : <utmpx.h> Commande last Chapitre 38 Pseudo terminaux Devices associés aux pseudo terminaux Commande tty, device /dev/tty Nombre de terminaux Phase de connexion, init, getty Liste BSD des terminaux physiques : /etc/ttys Liste System-V des terminaux physiques : /etc/inittab Terminaux sécurisés Chapitre 39 Terminaux X, XDM introduction sur les terminaux X XDM : X Display Management Requêtes XDMCP Gestion directe de serveurs X Fichier de configuration xdm-config Fichier de configuration Xaccess Fichier de configuration Xservers Fichier de configuration Xresources Application CHOOSER Ressources X pour XDM KDM : KDE Display Manager GDM : Gnome Display Manager Session X de l utilisateur Mode Failsafe Chapitre 40 Terminaux légers Problématique RDP ICA VNC VMWARE SUNRAY Chapitre 41 Protocole IP Ethernet Adresses IP Adresse spéciale : adresse de loopback Netmask Adresse de broadcast Configuration de l adresse réseau Unix : ifconfig (Windows : : netsh) Annuaire basique : /etc/hosts Routage : route
5 10 (Windows : : route) Routage : netstat (Windows : : netstat) Tests de connectivité : ping (Windows : : ping) Tests de connectivité : traceroute (Windows : : tracert) Utilitaire libpcap (Windows : : netcap) Utilitaire tcpdump Utilitaire ethereal (Windows : : etherreal) Utilitaire lsof Un peu de bibliographie Chapitre 42 Domain Name Server (DNS) Principes du DNS Zone DNS Requête d interrogation du DNS Implémentation : BIND, named F.root-servers.net Utilitaire rndc Fichier /etc/resolv.conf Utilitaire nslookup Utilitaire dig Record de type PTR Fichier /etc/nsswitch.conf Délégation d une partie de classe C Nom de machine, hostname WHOIS Espace de confiance Un peu de documentation Chapitre 43 Partage de fichiers NFS Principe de NFS Lancement de NFS Exportation NFS, /etc/exports, /etc/dfs/dfstab Exportation root NFS Règle de non transitivité NFS Montage NFS manuel Montage NFS automatique Option de montage NFS soft Option de montage NFS hard Vérification des exportations : showmount Vérification des exportations : rpcinfo Messages d erreur NFS Automounter Schéma récapitulatif Chapitre 44 Synchronisation manuelle de fichiers Synchronisation de fichiers via rdist Synchronisation de fichiers via rsync Chapitre 45 Gestionnaire de services réseau : inetd Principe /etc/services netstat -a, netstat -an /etc/inetd.conf
6 5 Reconfiguration de inetd, SIGHUP Filedescriptors et serveurs lancés par inetd Chapitre 46 TCP Wrappers Rappel sur inetd Principe des TCP Wrappers, tcpd Modifications de /etc/inetd.conf Contrôle d accès, /etc/hosts.allow, /etc/hosts.deny libwrap.a Chapitre 47 Gestionnaire de services réseau : xinetd Fichier de configuration /etc/xinetd.conf Réglages par défaut Configuration d un service /etc/xinetd.conf : directive nice /etc/xinetd.conf : directive access_times /etc/xinetd.conf : directives bind, id /etc/xinetd.conf : directive redirect /etc/xinetd.conf : tcpd et directive NAMEINARGS /etc/xinetd.conf : directive chroot Reconfiguration, signaux Chapitre 48 Quelques services et protocoles réseau Services réseau inutiles Protocole TELNET, telnet, telnetd Protocole RLOGIN, rlogin, rlogind Protocole FTP, ftp, ftpd Protocole TFTP, tftp, tftpd Protocole RARP, obtention d adresse IP Protocole RARP, rarpd Protocole BOOTP, bootpd Protocole DHCP, dhcpd, dhcpd.conf, dhclient Chapitre 49 Courrier électronique Composantes du système du courrier électronique Mail Transfer Agent (MTA) Sendmail Postfix Normes utilisées par sendmail et postfix Adresses postmaster, abuse, SPAM Adresses génériques, reverses Protocoles de consultation : POP, IMAP Chapitre 50 Langages d impression Problématique Postscript Interpréteurs Postscript Convertisseurs texte vers Postscript PCL PJL Chapitre 51 Protocole d impression LP Principe des systèmes d impression Principes de LP Scripts d impression Ajout d une imprimante Suppression d une imprimante Gestion des classes Chapitre 52 Protocole d impression LPD Principes
7 2 Fichier /etc/printcap Ajout d une imprimante Impression à distance Chapitre 53 Mécanisme d impression LPD par la pratique Chapitre 54 Protocoles réseau Microsoft, SMB SAMBA Un peu de bibliographie
8
9 Gestion des comptes utilisateurs Chapitre 31 : Gestion des comptes utilisateurs Formation permanente ARS Gestion des comptes utilisateurs Un compte utilisateur : définition de son identification pour le système définition d un environnement utilisateur Opérations possibles : création modifications destruction Formation permanente ARS 7.0 2
10 Gestion des comptes utilisateurs Le fichier /etc/passwd 31.1 Le fichier /etc/passwd Le fichier /etc/passwd contient les informations sur les utilisateurs. Sur tous les Unix! Exemple : root:u/oecqo.cmnyc:0:1:operator:/root:/bin/csh nobody:*:65534:65534::/: daemon:*:1:1::/: sys:*:2:2::/:/bin/csh bin:*:3:3::/bin: besancon:vshntkfqz8mek:4332:1000::/users/adm/besancon:/bin/bash... Formation permanente ARS Gestion des comptes utilisateurs Format du fichier /etc/passwd, <pwd.h> 31.2 Format du fichier /etc/passwd, <pwd.h> Le format est composé de 7 champs séparés par le caractére : : login : mot de passe : UID : GID : gecos : homedir : shell Pour la définition exacte sur sa machine, se reporter à <pwd.h>. Par exemple sur Linux : /* The passwd structure. */ struct passwd { char *pw_name; /* Username. */ char *pw_passwd; /* Password. */ uid_t pw_uid; /* User ID. */ gid_t pw_gid; /* Group ID. */ char *pw_gecos; /* Real name. */ char *pw_dir; /* Home directory. */ char *pw_shell; /* Shell program. */ }; Formation permanente ARS 7.0 4
11 Gestion des comptes utilisateurs Format du fichier /etc/passwd, <pwd.h> champ 1 : login Nom sous lequel un ordinateur connait un individu. 8 caractères en général. Pour plus, vérifier Sur Linux, on peut avoir des noms plus longs que 8. Conseils : pas de majuscules, éviter les caractères accentués. Bref : lettres minuscules, chiffres et caractère «-» champ 2 : mot de passe Mot de passe de l utilisateur stocké sous forme chiffrée non déchiffrable. Nécessité d éduquer les utilisateurs pour choisir un bon mot de passe. Les logiciels de crack de mots de passe ne déchiffrent pas les mots de passe : ils font des essais à base de dictionnaires. crack : ftp://ftp.lip6.fr/pub/unix/security/crack5.0.tar.gz john : ftp://ftp.false.com/pub/security/john/john-1.6.tar.gz Formation permanente ARS Gestion des comptes utilisateurs Format du fichier /etc/passwd, <pwd.h> champ 3 : UID Identificateur numérique compris entre 0 et (short int a priori). Sur Linux, c est un uid_t (équivalent à un unsigned int) Cette valeur doit être unique au sein des utilisateurs. champ 4 : GID Identificateur numérique compris entre 0 et (short int a priori). Sur Linux, c est un gid_t (équivalent à un unsigned int) Cette valeur doit être unique au sein des groupes. % ls -l -rw-r--r-- 1 besancon software 5928 Sep 15 22:49 fichier1.txt -rw-r--r-- 1 besancon software 940 Sep 15 22:27 fichier2.txt % ls -ln -rw-r--r Sep 15 22:47 fichier1.txt -rw-r--r Sep 15 22:27 fichier2.txt Formation permanente ARS 7.0 6
12 Gestion des comptes utilisateurs Format du fichier /etc/passwd, <pwd.h> champ 5 : gecos Identité en clair de l utilisateur. Les systèmes BSD y ont stocké d autres informations comme le numéro de téléphone, le numéro de bureau etc. La commande chfn (change finger) permet de modifier ce champs. champ 6 : homedir Répertoire par défaut. champ 7 : shell Shell par défaut. Si le champ est vide, on prend /bin/sh par défaut. Le shell déterminera les fichiers de configuration à installer chez l utilisateur. La commande chsh (change shell) permet de choisir parmi les shells mentionnés dans /etc/shells. Formation permanente ARS Gestion des comptes utilisateurs Format du fichier /etc/passwd, <pwd.h> Quelques conseils : Il faut toujours trier les lignes de /etc/passwd selon l ordre numérique des UID : # sort -t : +2n -3 /etc/passwd Il ne faut jamais laisser de comptes sans mot de passe. Formation permanente ARS 7.0 8
13 Gestion des comptes utilisateurs Chiffrement des mots de passe : crypt() 31.3 Chiffrement des mots de passe : crypt() Les mots de passe sont stockés sur une forme chiffrée, mathématiquement non réversible. Algorithme de chiffrement : DES, standard fédéral de l administration américaine Ce chiffrement non réversible est dit hashing (le mot de passe chiffré est dit hashed). Disponible sur Unix via la fonction C crypt() : premier paramètre : la chaine à chiffrer second paramètre : la graine (dite salt en anglais) composée de 2 caractères résultat renvoyé : une chaine dont les 2 premiers caractères reprennent le salt Ainsi crypt("qwerty", "NU") renvoie NUMVcLVD/dM12 Formation permanente ARS Gestion des comptes utilisateurs Chiffrement des mots de passe : crypt() Exemple de programme C complet : #include<stdio.h> main(int argc, char *argv[]) { printf("=> %s\n", crypt(getpass("chaine a chiffrer :"), argv[1])); } Une fois compilé, le programme montre : %./textcrypt NU Chaine a chiffrer : XXXXXXXX => NUMVcLVD/dM12 <-- QWERTY pour l exemple Formation permanente ARS
14 Gestion des comptes utilisateurs Cycle du mot de passe et commande passwd 31.4 Cycle du mot de passe et commande passwd La commande pour changer de mot de passe d un utilisateur dans /etc/passwd est passwd. Elle appelle crypt() avec un nouveau salt tiré au hasard et avec le nouveau mot de passe entré. passwd crypt() hashed password randomseed or "salt" serveur /etc/passwd (/etc/shadow) Formation permanente ARS Gestion des comptes utilisateurs Cycle du mot de passe et commande passwd Comportement lorsqu un utilisateur change un mot de passe % passwd passwd: Changing password for besancon Enter login password: XXXXXXXX New password: ZZZZZZZZ Re-enter new password: ZZZZZZZZ passwd (SYSTEM): passwd successfully changed for besancon On tache de vérifier l identité de la personne en demandant le mot de passe initial. Formation permanente ARS
15 Gestion des comptes utilisateurs Cycle du mot de passe et commande passwd Comportement lorsque l administrateur root change un mot de passe # passwd besancon New password: XXXXXXXX Re-enter new password: XXXXXXXX passwd (SYSTEM): passwd successfully changed for besancon Root n a jamais besoin de connaître le mot de passe d un utilisateur pour en changer le mot de passe. Lorsqu un utilisateur a perdu son mot de passe : root ne peut pas déchiffrer la chaine chiffrée dans /etc/passwd root peut changer le mot de passe par passwd groslourd Formation permanente ARS Gestion des comptes utilisateurs Cycle du mot de passe et commande passwd La commande passwd peut comporter plus ou moins de règles de vérification de la sûreté du mot de passe : % passwd besancon Enter login password: XXXXXXXX New password: XXXXXXXX <-- on entre exprès le même mot de passe passwd(system): Passwords must differ by at least 3 positions New password: YYYYYYYY <-- mélange de lettres minuscules et majuscules passwd(system): The first 6 characters of the password must contain at least two alphabetic characters and at least one numeric or special character. passwd(system): Too many failures - try later. Permission denied Formation permanente ARS
16 Gestion des comptes utilisateurs Cycle du mot de passe et commande login 31.5 Cycle du mot de passe et commande login La commande login est lancée par le système pour se connecter. Elle va devoir vérifier si les mots de passe entré et stocké sont identiques, sachant que le mot de passe est stocké sous une forme hashée. Si le mot de passe hashé est saelydiafuf5o, on réalisera donc au login la comparaison C : strcmp("saelydiafuf5o", crypt("xxxxxxxx", "sa")) avec XXXXXXXX le mot de passe en clair. Formation permanente ARS Gestion des comptes utilisateurs Cycle du mot de passe et commande login 1. L utilisateur entre login et mot de passe 2. On recupère la structure pwd de l utilisateur login 3. On extrait le salt 4. crypt() des données entrées 5. On extrait le passwd serveur /etc/passwd (ou /etc/shadow) 6. Comparaison hash stocké et hash calculé 7a. comparaison OK : connexion acceptée 7b. comparaison fausse : connexion refusée Formation permanente ARS
17 Gestion des comptes utilisateurs Shadow passwords, /etc/shadow, <shadow.h> 31.6 Shadow passwords, /etc/shadow, <shadow.h> L idée part de la constatation que, si beaucoup de programmes accèdent au contenu de /etc/passwd pour les informations concernant UID, homedir, shell, peu en revanche l accèdent pour le mot de passe. On supprime donc le mot de passe chiffré du fichier /etc/passwd pour le stocker dans un fichier à accès plus restreint. L ancien mot de passe chiffré est remplacé par exemple par un caractère comme «*»ou «x» pour conserver la structure du fichier /etc/passwd initial de façon à être compatible avec d anciennes applications. Plusieurs formats de fichiers shadow sont utilisés par les constructeurs qui ne se sont pas mis d accord. Formation permanente ARS Gestion des comptes utilisateurs Shadow passwords, /etc/shadow, <shadow.h> Exemple sur LINUX -rw-r--r-- -rw root wheel Sep 15 22:51 /etc/passwd root wheel Sep 15 22:50 /etc/shadow # cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm:... # cat /etc/shadow root:fuqzjkzpwaytc:11237:0:99999:7:-1:-1: bin:*:11237:0:99999:7::: daemon:*:11237:0:99999:7::: adm:*:11237:0:99999:7:::... Formation permanente ARS
18 Gestion des comptes utilisateurs Shadow passwords, /etc/shadow, <shadow.h> Exemple sur SOLARIS -rw-r--r-- 1 root sys 1032 Jul 11 23:21 /etc/passwd -rw root sys 536 Jul 11 23:14 /etc/shadow # cat /etc/passwd root:x:0:1:super-user:/:/sbin/sh daemon:x:1:1::/: bin:x:2:2::/usr/bin:... boumaiza:x:1001:1000:lyazid Boumaiza:/net/serveur/home/ars/boumaiza:/bin/tcsh corsini:x:1002:1000:franck Corsini:/net/serveur/home/ars/corsini:/bin/tcsh... # cat /etc/shadow root:y8fpbbq414tbu:6445:::::: daemon:np:6445:::::: bin:np:6445::::::... boumaiza:aaljcbuvx/xem:11255:::::: corsini:5ag56r/m.kd9a:10912::::::... Formation permanente ARS Gestion des comptes utilisateurs Le fichier /etc/group, <grp.h> 31.7 Le fichier /etc/group, <grp.h> Le format est composé de 4 champs séparés par le caractére : : group : mot de passe : GID : membres Pour la définition exacte sur sa machine, se reporter à <grp.h>. Par exemple, sur une machine Linux : /* The group structure. */ struct group { char *gr_name; /* Group name. */ char *gr_passwd; /* Password. */ gid_t gr_gid; /* Group ID. */ char **gr_mem; /* Member list. */ }; Formation permanente ARS
19 Gestion des comptes utilisateurs Le fichier /etc/group, <grp.h> champ 1 : group Nom du groupe apparaissant par ls -lg. champ 2 : mot de passe Mot de passe du groupe. champ 3 : GID Identificateur numérique compris entre 0 et Sur Linux, c est un gid_t (équivalent à un unsigned int) Cette valeur doit être unique au sein des groupes. champ 4 : membres Liste de noms de login séparés par des virgules. Formation permanente ARS Gestion des comptes utilisateurs Création d un nouveau compte 31.8 Création d un nouveau compte Action mécanique automatisable. Selon le système, elle est déjà automatisée sous la forme d une commande d administration : Unix AIX HP-UX Solaris FreeBSD FreeBSD LINUX Programme smit sam admintool adduser useradd adduser et useradd Formation permanente ARS
20 Gestion des comptes utilisateurs Création d un nouveau compte Exemple d interface graphique de création de compte : Problème : comment créer 3000 comptes en une après-midi avec cette interface? Problème : comment personnaliser cette interface? Formation permanente ARS Gestion des comptes utilisateurs Création d un nouveau compte Actions schématiques à accomplir lors de la création d un compte : 1. choix de l UID et du GID en fonction du service d appartenance de la personne 2. choix du homedir (en fonction du service?) 3. choix du nom de login selon la politique locale 4. choix du shell de login 5. incorporation de ces informations dans la base de données des comptes (/etc/passwd ou NIS selon la politique du service) ; * comme mot de passe par défaut Formation permanente ARS
21 Gestion des comptes utilisateurs Création d un nouveau compte 6. ajout de l utilisateur dans /etc/group 7. création du homedir 8. copie des fichiers de configuration de l environnement (.profile,.cshrc,.xsession etc.) 9. attribuer le homedir créé à l utilisateur par chown + chgrp 10. initialisation du mot de passe si l utilisateur est présent L étape délicate dans une automatisation de création de compte est bien sûr l incorporation d une nouvelle ligne dans la base de données. Formation permanente ARS Gestion des comptes utilisateurs Compte root 31.9 Compte root Sa particularité vient de son UID == 0. Quelques règles : 1. L utilisateur root n a pas. dans son PATH (précédence de la commande locale par rapport à la commande système). 2. L utilisateur root a 022 pour umask (accessibilité indispensable de certains fichiers par les utilisateurs normaux). 3. Eviter d avoir / comme homedir pour root (pollution de / par les fichiers de configuration en.foorc ). Sur LINUX/FREEBSD, le répertoire de root est /root Formation permanente ARS
22 Gestion des comptes utilisateurs Comptes fictifs système Comptes fictifs système Exemple de Linux : root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: lp:x:4:7:lp:/var/spool/lpd: sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail: news:x:9:13:news:/var/spool/news: uucp:x:10:14:uucp:/var/spool/uucp: operator:x:11:0:operator:/root: games:x:12:100:games:/usr/games: gopher:x:13:30:gopher:/usr/lib/gopher-data: ftp:x:14:50:ftp User:/home/ftp: nobody:x:99:99:nobody:/: xfs:x:43:43:x Font Server:/etc/X11/fs:/bin/false... Formation permanente ARS Gestion des comptes utilisateurs Comptes fictifs système Ces utilisateurs fictifs sont essentiellement des propriétaires de fichiers. Par exemple bin est le propriétaire de la plupart des exécutables : -rwxr-xr-x 1 bin bin Aug stty* -rws--x--x 1 root bin Aug su* -rwxr-xr-x 1 bin bin Aug sum* A noter l emploi du bit s sur la commande su. µ son exécution se fait au nom du propriétaire du fichier, ici root. Formation permanente ARS
23 Gestion des comptes utilisateurs Commande id Commande id (en anglais identity) La commande id renvoie l UID et les GID primaire et secondaires de l utilisateur. % id uid=1000(besancon) gid=4(adm) groups=4(adm),0(root),3(sys),12(daemon) Formation permanente ARS Gestion des comptes utilisateurs Commande groups Commande groups (en anglais groups) Syntaxe : groups [user] La commande groups renvoie les GID d appartenance de l utilisateur. % groups adm root sys daemon sae3 www Formation permanente ARS
24 Gestion des comptes utilisateurs Commande su Commande su (en anglais swap user) Syntaxe : su [-] utilisateur2 La commande su permet de changer d identité. La commande réussira après la demande du mot de passe de l utilisateur destination. Pour hériter complètement de l identité, utiliser l option «-» de la commande su. Formation permanente ARS Gestion des comptes utilisateurs Commande su Quand on se trompe sur le mot de passe % id uid=4332(besancon) gid=1000(software) groups=1000(software) % su besancon Password: XXXXXXXX Sorry Quand on donne le bon mot de passe % id uid=4332(besancon) gid=1000(software) groups=1000(software) % su beurnez Password: XXXXXXXX % id uid=8520(beurnez) gid=8506(lps-06) groups=8506(lps-06) Formation permanente ARS
25 Gestion des comptes utilisateurs Commande su Exemple de transmission de données parasites de la première identité à la seconde identité % id uid=4332(besancon) gid=1000(software) groups=1000(software) % pwd /users/adm/besancon % su asterix Password: XXXXXXXX % id uid=8520(asterix) gid=8506(gaulois) groups=8506(gaulois) % pwd /users/adm/besancon % printenv... MAIL=/var/mail/besancon... Certaines variables d environnement font encore référence à l identité de départ! Formation permanente ARS Gestion des comptes utilisateurs Commande su Exemple de non transmission de données parasites de la première identité à la seconde identité % id uid=4332(besancon) gid=1000(software) groups=1000(software) % pwd /users/adm/besancon % su - asterix Password: XXXXXXXX % id uid=8520(asterix) gid=8506(gaulois) groups=8506(gaulois) % pwd /users/stat/asterix % printenv... MAIL=/var/mail/asterix... Les variables d environnement font référence maintenant au second utilisateur exclusivement. Moralité : il faut toujours faire «su - utilisateur2» Formation permanente ARS
26 Gestion des comptes utilisateurs Commande su Pour devenir root Pour devenir root, la commande est : % su - root ce qui peut se simplifier encore en : % su - Formation permanente ARS Gestion des comptes utilisateurs Deviner des mots de passe Deviner des mots de passe L algorithme DES sert à hasher les mots de passe. Si l on a accès au contenu de /etc/shadow (ou /etc/passwd en mode non protégé), on peut utiliser certains outils pour vérifier la complexité des mots de passe en appliquant des dictionnaires et des règles d applications : John the ripper, disponible à Crack, disponible à Formation permanente ARS
27 Gestion des comptes utilisateurs (Windows : : net user) (Windows : : net user) Commande de base pour détruire des comptes : net user jean /del Commande de base pour créer des comptes : net user jean mot-de-passe /add [options] Les options permettent de définir les caractéristiques du compte : Option Signification illustration /ACTIVE:{YES NO} compte actif ou désactivé lettre F /COMMENT:"texte" champ «description» du compte lettre B /EXPIRES:{date NEVER} expiration ou pas du compte lettre E /FULLNAME:"nom" champ «nom détaillé» du compte lettre A /PASSWORDCHG:{YES NO} l utilisateur peut-il changer son mot de passe? lettre D /PASSWORDREQ:{YES NO} un mot de passe doit-il être défini? /TIMES:{horaires ALL} /USERCOMMENT:"texte" horaire de fonctionnement du compte commentaire du compte Formation permanente ARS Gestion des comptes utilisateurs (Windows : : net user) Formation permanente ARS
28 Gestion des comptes utilisateurs (Windows : : cusrmgr.exe) (Windows : : cusrmgr.exe) (en anglais console user manager) Dans le Resource Kit Windows 2000, on trouve la commande cusrmgr.exe qui permet de changer les attributs d un compte. Forme générale de la commande : cusrmgr.exe -u jean option Formation permanente ARS Gestion des comptes utilisateurs (Windows : : cusrmgr.exe) net user jean sesame /add Formation permanente ARS
29 Gestion des comptes utilisateurs (Windows : : cusrmgr.exe) "c:\program Files\Resource Kit\cusrmgr.exe" -u jean -P "sesame" Non visible... Formation permanente ARS Gestion des comptes utilisateurs (Windows : : cusrmgr.exe) "c:\program Files\Resource Kit\cusrmgr.exe" -u jean -c "Service Informatique" Formation permanente ARS
30 Gestion des comptes utilisateurs (Windows : : cusrmgr.exe) "c:\program Files\Resource Kit\cusrmgr.exe" -u jean -f "Jean DUPONT" Formation permanente ARS Gestion des comptes utilisateurs (Windows : : cusrmgr.exe) "c:\program Files\Resource Kit\cusrmgr.exe" -u jean +s MustChangePassword Formation permanente ARS
31 Gestion des comptes utilisateurs (Windows : : cusrmgr.exe) L option de changer le mot de passe donne au moment de la connexion initiale : Formation permanente ARS Gestion des comptes utilisateurs (Windows : : cusrmgr.exe) "c:\program Files\Resource Kit\cusrmgr.exe" -u jean +s CanNotChangePassword Formation permanente ARS
32 Gestion des comptes utilisateurs (Windows : : cusrmgr.exe) "c:\program Files\Resource Kit\cusrmgr.exe" -u jean +s PasswordNeverExpires Formation permanente ARS Gestion des comptes utilisateurs (Windows : : cusrmgr.exe) "c:\program Files\Resource Kit\cusrmgr.exe" -u jean +s AccountDisabled Formation permanente ARS
33 Gestion des comptes utilisateurs (Windows : : cusrmgr.exe) L option de compte expiré donne au moment de la connexion : Formation permanente ARS Gestion des comptes utilisateurs (Windows : : cusrmgr.exe) "c:\program Files\Resource Kit\cusrmgr.exe" -u jean +s AccountLockout Non visible... Formation permanente ARS
34 Gestion des comptes utilisateurs (Windows : : lusrmgr.msc) (en anglais local user manager) (Windows : : lusrmgr.msc) Gestion graphique des utilisateurs : commande de base lusrmgr.msc Formation permanente ARS Gestion des comptes utilisateurs (Windows : : lusrmgr.msc) On peut bien sûr voir les propriétés d un compte : Formation permanente ARS
35 Gestion des comptes utilisateurs (Windows : : secpol.msc) (Windows : : secpol.msc) Via l outil de politique de sécurité secpol.msc, on peut configurer la longueur minimale des mots de passe : Formation permanente ARS Gestion des comptes utilisateurs (Windows : : secpol.msc) Via l outil de politique de sécurité secpol.msc, on peut configurer la complexité des mots de passe : Formation permanente ARS
36 Gestion des comptes utilisateurs Interdiction des logins Interdiction des logins Sur FreeBSD : login shell /sbin/nologin fichier /var/run/nologin qui sera affiché par /sbin/nologin Sur LINUX : fichier /etc/nologin qui sera affiché par /sbin/login # cat /etc/nologin Exemple pour ARS : Interdiction de se connecter. % ssh redhat9.example.com Exemple pour ARS : Interdiction de se connecter. Connection to redhat9.example.com closed. Formation permanente ARS Gestion des comptes utilisateurs (Windows : : Interdiction des logins) (Windows : : Interdiction des logins) Commande : interdiction des logins : change logon /disable autorisation des logins : change logon /enable pour savoir : change login /query Pas de possibilité d afficher un message d explications. Formation permanente ARS
37 Gestion des comptes utilisateurs (Windows : : perte du mot de passe de l administrateur) (Windows : : perte du mot de passe de l administrateur) En cas de perte du mot de passe de l administrateur sur un Windows 2000 ou plus récent, solution : booter sur un CDROM LINUX avec un utilitaire de modification de la SAM Image ISO disponible sur Télécharger, graver. Formation permanente ARS
38 NIS Chapitre 32 : NIS NIS Network Information Service Créé par SUN en 1985 Anciennement Yellow Pages µ certaines commandes ont un nom en "yp..." Version NIS+ vers 1992, radicalement différente (cf annexe) C est un protocole réseau d accès à des informations centralisées sur un ou plusieurs serveurs redondants. Utilisation la plus courante : partager la base des comptes Unix. Formation permanente ARS NIS Architecture de NIS 32.1 Architecture de NIS Architecture construite en mode client / serveur : D A T A Maitre D A T A D A T A Esclave 1 Esclave 2 Mise a jour push / pull D A T A D A T A D A T A D A T A D A T A Client 1 Client 2 Client 3 Client 4 Formation permanente ARS
39 NIS Architecture de NIS Caractéristiques : Communications réseau via RPC (Remote Procedure Call) Propagation des données (maps) du master server aux slave servers en mode pull ou en mode push. Propagation des maps complètes Seul le master server peut modifier les données Les slave servers diffusent les données sans pouvoir les modifier Formation permanente ARS NIS Données NIS : maps NIS, DBM, ypcat, ypmatch 32.2 Données NIS : maps NIS, DBM, ypcat, ypmatch Les données manipulées par NIS : maps Les maps contiennent des couples (clef, valeur). Il n y a que le serveur NIS maître qui peut changer le contenu d une map. Une map est au format DBM (cf man dbm) ; une map se compose de 3 fichiers : le fichier source le fichier de suffixe.pag le fichier de suffixe.dir Formation permanente ARS
40 NIS Données NIS : maps NIS, DBM, ypcat, ypmatch La commande makedbm permet de convertir le fichier source en les 2 fichiers constituant le DBM. % cat demo clef1 banane clef2 arbre % makedbm demo demo % ls -l demo test* -rw-r--r-- 1 besancon adm 23 Aug 15 11:56 demo -rw besancon adm 0 Aug 15 11:57 demo.dir -rw besancon adm 1024 Aug 15 11:57 demo.pag Dans le système NIS, les maps sont stockées sur le master server dans /var/yp/nom-du-domaine-nis : % cd /var/yp/nom-de-domaine-nis % ls -l passwd* -rw root other 4096 Nov 23 07:26 passwd.byname.dir -rw root other 8192 Nov 23 07:26 passwd.byname.pag -rw root other 4096 Nov 23 07:26 passwd.byuid.dir -rw root other 8192 Nov 23 07:26 passwd.byuid.pag Formation permanente ARS NIS Données NIS : maps NIS, DBM, ypcat, ypmatch Les maps sont construites automatiquement à partir de tous les fichiers sources des maps : passwd.byname passwd.byuid /etc/hosts makedbm NIS MASTER hosts.byname hosts.byuid /etc/passwd Le fichier /var/yp/makefile automatise toutes les créations de maps et leur propagation aux slave servers (mode push). Formation permanente ARS
41 NIS Données NIS : maps NIS, DBM, ypcat, ypmatch Extrait de /var/yp/makefile :... hosts.time: $(B) -l $(DIR)/hosts $(CHKPIPE)) \ (awk BEGIN { OFS="\t"; } $$1!~ /^#/ { print $$1, $$0 } $(CHKPIPE)) \ $(MAKEDBM) $(B) - "updated [! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) hosts.byname; [! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) hosts.byaddr; [! $(NOPUSH) ]; then echo "pushed hosts"; fi... La construction d une map se résume alors à (par exemple suite à une modification de /etc/hosts) : # vi /etc/hosts # cd /var/yp # make hosts updated hosts pushed hosts Formation permanente ARS NIS Données NIS : maps NIS, DBM, ypcat, ypmatch La librairie DBM permet de créer des enregistrements de taille maximale 1024 octets : % man dbm SunOS/BSD Compatibility Library Functions dbm(3b) NAME... dbm, dbminit, dbmclose, fetch, store, delete, firstkey, nextkey - data base subroutines The sum of the sizes of a key/content pair must not exceed the internal block size (currently 1024 bytes). Moreover all key/content pairs that hash together must fit on a single block. store will return an error in the event that a disk block fills with inseparable data. Formation permanente ARS
42 NIS Données NIS : maps NIS, DBM, ypcat, ypmatch Quelques noms de maps : passwd.byname, passwd.byuid, group.byname, group.bygid, publickey.byname, hosts.byaddr, hosts.byname, mail.byaddr, mail.aliases, services.byname, services.byservicename, rpc.bynumber, rpc.byname, protocols.bynumber, protocols.byname, networks.byaddr, networks.byname, netmasks.bymask, netmasks.byaddr, ethers.byname, ethers.byaddr, bootparams, auto.master, auto.home, auto.direct, auto.src dont les plus utiles sont : map passwd map group map hosts map netgroup Formation permanente ARS NIS Données NIS : maps NIS, DBM, ypcat, ypmatch La commande ypcat permet de consulter une map NIS depuis n importe quel client. Syntaxe : ypcat map-nis La commande ypmatch permet de consulter la valeur d une ou plusieurs clefs dans une certaine map NIS depuis n importe quel client. Syntaxe : ypmatch clef1 clef2... map-nis Formation permanente ARS
43 NIS Client NIS, domainname, ypbind, ypwhich, ypset 32.3 Client NIS, domainname, ypbind, ypwhich, ypset Un client NIS doit se connecter à un serveur NIS. C est l action de binding. Le binding nécessite : de fournir un nom de domaine NIS, le domainname ; une machine se déclare comme membre du groupe servi par les serveurs NIS de préciser la méthode de localisation du serveur NIS : broadcast ou explicite Formation permanente ARS NIS Client NIS, domainname, ypbind, ypwhich, ypset Nom de domaine La commande activant le nom de domaine est domainname. Pour consulter le nom de domaine : domainname Pour configurer manuellement le nom de domaine : domainname nom-du-domaine-nis Configuration du domainname automatique au démarrage : Sur Solaris : renseigner le fichier /etc/defaultdomain Sur Linux : renseigner le variable NISDOMAIN du fichier /etc/sysconfig/network NETWORKING=yes FORWARD_IPV4=false HOSTNAME=pcars6.formation.jussieu.fr DOMAINNAME=formation.jussieu.fr GATEWAY= GATEWAYDEV=eth0 NISDOMAIN=real.world ATTENTION : sur LINUX, ne pas confondre avec la variable DOMAINNAME qui sert pour l annuaire DNS, cf tome 4 du cours UNIX ou cf le cours réseau. Formation permanente ARS
44 NIS Client NIS, domainname, ypbind, ypwhich, ypset Réalisation du binding Un client NIS fait tourner le démon ypbind qui se connecte à un serveur NIS que l on trouve selon 2 méthodes possibles : découverte par broadcast ; c est le mode par défaut. Sur Solaris, /usr/lib/netsvc/yp/ypbind -broadcast En pratique il y a une map ypservers qui contient les noms des serveurs. Cf /var/yp/binding/nom-de-domaine-nis/ypservers demande de connexion explicite Sur Solaris faire : # ypbind -ypsetme # ypset nom-du-serveur-nis-voulu La commande ypwhich affiche le nom du serveur NIS utilisé. Formation permanente ARS NIS Client NIS, domainname, ypbind, ypwhich, ypset On peut controler un peu quels sont les clients qui se bindent aux servers. Pour cela, remplir sur les slave servers et sur le master server le fichier /var/yp/securenets. Il liste les machines autorisées, sous forme adresses et netmasks. Par exemple : Signification : seules les machines des réseaux /16 et /24 sont autorisées à se binder. Formation permanente ARS
45 NIS Client NIS, domainname, ypbind, ypwhich, ypset Consultation des maps Un client NIS doit indiquer quels maps il utilisera. La plus courante est la map passwd dont on indique l utilisation par l ajout d une ligne en fin de fichier /etc/passwd : +::65534:65534::: Signification de cette ligne supplémentaire (à vérifier sur chaque système car il existe des différences) : Tout champ renseigné de cette ligne + remplace le même champ de la map inconditionnellement sauf pour UID et GID. Pour UID et GID, les valeurs mentionnées s activeront si ces champs sont absents de la map (c est-à-dire quand la map est vérolée ce qui indique un problème de fichier source vérolé). Formation permanente ARS NIS Client NIS, domainname, ypbind, ypwhich, ypset Exemple : +:*LK*:65534:65534:::/usr/local/bin/tcsh Signification : le passwd chiffré des utilisateurs de la map passwd est *LK* l UID sera si l entrée de la map ne précise pas d UID le GID sera si l entrée de la map ne précise pas de GID le shell de login est mis automatiquement à /usr/local/bin/tcsh Formation permanente ARS
46 NIS Slave server NIS, ypserv, ypxfr 32.4 Slave server NIS, ypserv, ypxfr Un serveur NIS esclave fait tourner plusieurs démons : ypserv ypbind Le démon ypserv est là pour répondre aux requêtes des client NIS qui se sont bindés sur lui. Le démon ypbind n est là que pour faire du slave server un client NIS aussi (mais ce n est pas obligatoire). Il n est pas garanti que le slave server soit client NIS de lui même. Il peut se binder sur un autre serveur NIS du même domaine. Formation permanente ARS NIS Slave server NIS, ypserv, ypxfr Un slave server peut être down au moment où un master slave fait un push des maps. µ besoin pour le slave server de se resynchroniser avec le master server ; pull des maps de la part du slave server Cela se fait au moyen de shell scripts lancés périodiquement via la crontab : 30 * * * * /usr/lib/netsvc/yp/ypxfr_1perhour 31 1,13 * * * /usr/lib/netsvc/yp/ypxfr_2perday 32 1 * * * /usr/lib/netsvc/yp/ypxfr_1perday Ces scripts récupérent plus ou moins de maps suivant la fréquence de leur lancement. Exemple de l un de ces shell scripts, ypxfr_1perhour : #! /bin/sh # ypxfr_1perhour.sh - Do hourly NIS map check/updates PATH=/bin:/usr/bin:/usr/lib/netsvc/yp:$PATH export PATH ypxfr passwd.byname ypxfr passwd.byuid Formation permanente ARS
47 NIS Master server NIS, ypxfrd, rpc.yppasswdd, yppasswd 32.5 Master server NIS, ypxfrd, rpc.yppasswdd, yppasswd Un serveur NIS maître fait tourner plusieurs démons : ypserv ypbind ypxfrd rpc.yppasswdd Même rôle pour ypserv que pour un slave server. Même rôle pour ypbind que pour un slave server. Le démon ypxfrd assure les transferts de maps demandés par les slave servers (mode pull). (en Unix, on rencontre souvent le mot xfr pour transfert) Le démon rpc.yppasswdd assure le changement des mots de passe. Formation permanente ARS NIS Master server NIS, ypxfrd, rpc.yppasswdd, yppasswd Avec NIS, un client NIS ne peut pas modifier le contenu d une map. Pour changer un mot de passe, on va émuler le changement du mot de passe sur le master server dans son fichier source (/etc/passwd) puis la reconstruction de la map passwd et sa transmission en totalité aux slave servers. Ce processus se réalise en utilisant la commande yppasswd qui demande les mots de passe à l utilisateur puis appelle rpc.yppasswdd sur le master server qui simule la session interactive composée des commandes : # passwd # cd /var/yp # make passwd Formation permanente ARS
48 NIS Master server NIS, ypxfrd, rpc.yppasswdd, yppasswd Sur un client NIS Linux : % yppasswd Changing NIS account information for besancon on cerise.unixiens.org. Please enter old password: ******** Changing NIS password for besancon on cerise.unixiens.org. Please enter new password: ******** Please retype new password: ******** The NIS password has been changed on cerise.unixiens.org. Sur un master server NIS Solaris : % yppasswd Enter login(nis) password: ******** New password: ******** Re-enter new password: ******** NIS passwd/attributes changed on cerise.unixiens.org Formation permanente ARS NIS Netgroups 32.6 Netgroups Le système NIS permet de définir des groupes d autorisation d accès : les netgroups. Ces groupes sont diffusés via la map netgroup. Un netgroup est un nom symbolique associé à un ensemble de triplets (je n ai jamais vu le troisième champ avoir une quelconque utilité en pratique) : nom-de-netgroup \ (machine, utilisateur, nom-de-domaine-nis) \ (machine, utilisateur, nom-de-domaine-nis) \... On définit en pratique des netgroups concernant des machines et des netgroups concernant des utilisateurs. On autorisera ainsi ou pas des groupes d utilisateurs ou de machines à accéder à certaines ressources. Formation permanente ARS
49 NIS Netgroups Exemple de netgroup de machines : nains \ (atchoum.phys.ens.fr,,physique) \ (dormeur.phys.ens.fr,,physique) \ (joyeux.phys.ens.fr,,physique) \ (grincheux.phys.ens.fr,,physique) \ (prof.phys.ens.fr,,physique) \ (timide.phys.ens.fr,,physique) \ (simplet.phys.ens.fr,,physique) Exemple de netgroup d utilisateurs : etudiants \ (,jean,) \ (,pierre,) \ (,valerie,) Formation permanente ARS NIS Netgroups Exemple d utilisation d un netgroup d utilisateurs au niveau de /etc/passwd : field:password HERE:0:1:Field Service:/usr/field:/bin/csh operator:password HERE:5:28:Operator:/opr:/opr/opser sys:password HERE:2:3:Mr Kernel:/usr/sys: bin:password HERE:3:4:Mr Binary:/bin: pot:*:16:16:menupot:/users/staffs/pot: -@etudiants: +@net_administrateurs::0:0::: +@net_utilisateurs::65534:65534:::/bin/noshell Signification : On rejette les lignes de la map passwd dont le login est indiqué dans le netgroup etudiants On accepte les lignes de la map passwd dont le login est indiqué dans le netgroup net_administrateurs On accepte les lignes de la map passwd dont le login est indiqué dans le netgroup net_utilisateurs Formation permanente ARS
50 NIS Netgroups Exemple d utilisation d un netgroup de machines au niveau de l exportation de disques via NFS (fichier /etc/exports, cf chapitre sur NFS) : /usr/openwin -access=nains Formation permanente ARS NIS Installation de NIS 32.7 Installation de NIS Master server Lancer ypinit -m Slave servers Lancer ypinit -s master-server Ajouter dans la crontab les appels aux scripts ypxfr_* Client NIS Spécifier le domainname Formation permanente ARS
51 NIS+ Chapitre 33 : NIS+ Cf annexe pour un document sur NIS+. Nous n évoquerons ici que les défauts de NIS ayant conduit à l apparition de son successeur, NIS+. Le système NIS+ n a pas connu de succès et il est maintenant officiellement abandonné au profit de LDAP par son principal défenseur, SUN. Principaux reproches à NIS : pas d authentification du client aux serveurs NIS ; connaitre le domainname suffit à se binder les maps sont transmises en totalité même en cas de faible modification de leurs contenus inadaption du principe du domaine NIS dans le cas de structures WAN mode broadcast Formation permanente ARS
52 LDAP Chapitre 34 : LDAP 34.1 Problématique Cas de l université de Paris 4 : base Microsoft Excel du personnel administratif base Microsoft Access du personnel enseignant base /etc/passwd des comptes des utilisateurs base mysql des 2 catégories de personnel prochainement logiciel à base d Oracle prochainement Microsoft Active Directory Date XYZ : envoyer un à tous les personnels administratifs sachant que le service du personnel ne fournira qu une liste avec nom et prénom. Comment l ingénieur système fait-il? Date XYZ2 : envoyer un à tous les personnels administratifs sauf ceux du site de Clignancourt, sachant que le service du personnel ne peut pas fournir de liste cette fois-ci. Comment l ingénieur système fait-il? Formation permanente ARS LDAP Principe d annuaire 34.2 Principe d annuaire Un annuaire informatique est un service permettant d accéder à des informations, relatives à des personnes ou à diverses ressources de façon organisée. Objectif : maintenir de façon cohérente et contrôlée les archipels de données et obtenir des données de référence. Un annuaire n est pas une base de données relationnelles. Une base de données (SGBD) se caractérise par : Le schéma des données est défini à 100% pour résoudre un certain problème. Les applications connaissent explicitement le schéma des données. Les objets sont complexes et éclatés entre plusieurs tables liées par des relations complexes. Un SGBD supporte les transactions. Un SGBD supporte un langage comme SQL qui permet des fonctions d interrogation et de mises à jour très complexes. Un SGBD centralise les données pour éviter les problèmes de synchronisation de données et de qualité des temps de réponse. Formation permanente ARS
53 LDAP Principe d annuaire Un annuaire se caractérise par : Les objets sont indépendants (pas de liens de dépendance entre eux). Les objets peuvent être distribué sur plusieurs annuaires pour assurer une meilleure disponibilité. Le schéma est standardisé pour pouvoir partager les données. Le schéma est extensible pour prendre en compte tous les besoins mais cela est fait de façon compatible avec les standards. Les applications d annuaire ignorent la structure interne des données. Un annuaire est principalement consulté en lecture et est optimisé pour cela. Formation permanente ARS LDAP Annuaire LDAP 34.3 Annuaire LDAP LDAP Lightweight Directory Access Protocol Héritier de l annuaire ISO X500. Version 3 actuellement. RFC 2251 à 2256, RFC 2829 à 2830, RFC Il n y a pas de standard de représentation des contrôles d accès aux données. LDAP : nom d un protocole nom d une structure de données nom d implémentations de serveurs suivant le protocole Confusion possible... Formation permanente ARS
54 LDAP Modèle de données de LDAP : DIT, suffixe 34.4 Modèle de données de LDAP : DIT, suffixe Les entrées sont organisées sous forme d arbre ou DIT (Directory Information Tree). L une des difficultés de LDAP : construire l organisation du DIT. De quoi est-il le reflet? DIT à caractère organisationnel? dc=company,dc=com dc=recherche dc=finance dc=marketing dc=people dc=people dc=people dc=groups dc=groups dc=groups Formation permanente ARS LDAP Modèle de données de LDAP : DIT, suffixe DIT à caractère géographique? dc=company,dc=com dc=america dc=europe dc=asia dc=people dc=people dc=people dc=groups dc=groups dc=groups Pas de solution universelle. Formation permanente ARS
55 LDAP Modèle de données de LDAP : DIT, suffixe La racine de l arbre est uniquement conceptuelle et n existe pas réellement. C est le suffixe qui sert à déterminer les adresses absolues des objets (comme / pour l arborescence des fichiers Unix). dc=company,dc=com SUFFIXE dc=recherche dc=finance dc=marketing dc=people dc=people dc=people dc=groups dc=groups dc=groups Le suffixe peut avoir plusieurs formes : forme 1 : o=company.com forme 2 : o=company,c=com forme 3 : dc=company,dc=com On préférera la 3ième forme, ayant un certain rapport avec les noms de domaine DNS. Formation permanente ARS LDAP Modèle de données de LDAP : DIT, suffixe Exemple de DIT visualisé avec LdapBrowser disponible à l URL : Formation permanente ARS
56 LDAP Modèle de données de LDAP : entrée, attributs, DN, URL 34.5 Modèle de données de LDAP : entrée, attributs, DN, URL DSE Directory Service Entry Les entrées dans le DIT (DSE) sont des agrégats d attributs monovalués ou multivalués qui permettent de stocker n importe quel format de données (prénom, numéro de téléphone, image, son, etc.) Les DSE sont stockées dans le DIT et arrangés selon leur identifiant unique, le DN (Distinguished Name). Un DN est la concaténation d un RDN (Relative DN) et du DN des parents. Un DN s apparente à une clef primaire. suffixe : dc=company,dc=com RDN : ou=recherche DN : ou=recherche,dc=company,dc=com RDN : uid=besancon DN : uid=besancon,ou=recherche,dc=company,dc=com (le RDN doit être un des attributs/valeurs du DSE) Formation permanente ARS LDAP Modèle de données de LDAP : entrée, attributs, DN, URL Formation permanente ARS
57 LDAP Modèle de données de LDAP : entrée, attributs, DN, URL Il existe des URL LDAP (RC 2255) qui prennent la forme : ldap://serveur:389/dn Par exemple dans communicator de netscape : Formation permanente ARS LDAP Modèle de données de LDAP : schéma, syntaxes, OID, objectclass 34.6 Modèle de données de LDAP : schéma, syntaxes, OID, objectclass Le schéma du DIT regroupe les définitions relatives aux types d objets que peut contenir l annuaire ou que l on peut rechercher. Le schéma contiendra des objets instanciations de classes LDAP, les définitions de ces classes et de leurs attributs, les syntaxes de ces attributs. Tous ces éléments seront identifiés par des Object Identifiers dits OID. attributetype ( NAME uidnumber DESC An integer uniquely identifying a user in a domain EQUALITY integermatch SYNTAX SINGLE-VALUE ) objectclass ( NAME posixaccount SUP top AUXILIARY DESC Abstraction of an account with POSIX attributes MUST ( cn $ uid $ uidnumber $ gidnumber $ homedirectory ) MAY ( userpassword $ loginshell $ gecos $ description ) ) ( et sont des OIDS) Formation permanente ARS
58 LDAP Modèle de données de LDAP : schéma, syntaxes, OID, objectclass Une syntaxe est un modèle de représentation des valeurs de l attribut. Par exemple booléen, entier, binaire (pour une image, un son), etc. L attribut objectclass spécifie la liste des classes qu instancie un DSE. Chaque classe va construire la structure du DSE en spécifiant une liste d attributs obligatoirement présents (MUST dans l objectclass) et une liste d attributs facultatifs (MAY dans l objectclass). objectclass ( NAME inetorgperson DESC RFC2798: Internet Organizational Person SUP organizationalperson STRUCTURAL MAY ( audio $ businesscategory $ carlicense $ departmentnumber $ displayname $ employeenumber $ employeetype $ givenname $ homephone $ homepostaladdress $ initials $ jpegphoto $ labeleduri $ mail $ manager $ mobile $ o $ pager $ photo $ roomnumber $ secretary $ uid $ usercertificate $ x500uniqueidentifier $ preferredlanguage $ usersmimecertificate $ userpkcs12 ) ) objectclass ( NAME posixaccount SUP top AUXILIARY DESC Abstraction of an account with POSIX attributes MUST ( cn $ uid $ uidnumber $ gidnumber $ homedirectory ) MAY ( userpassword $ loginshell $ gecos $ description ) ) µ l attribut uid sera de type MUST. Formation permanente ARS LDAP Modèle de données de LDAP : schéma, syntaxes, OID, objectclass Les objectclass de LDAP s inscrivent dans un hiérarchie dont la racine est l objectclass top. Chaque classe hérite d une seule classe mère. Chaque classe peut donner lieu à plusieurs sous classes. (Abstract) top (Structural) person (Auxiliary) companyperson (Structural) organizationalperson (Structural) residentialperson Formation permanente ARS
59 LDAP Protocole LDAP / Bind 34.7 Protocole LDAP / Bind Au niveau réseau : LDAP : TCP port 389 LDAP + SSL : TCP port 636 ( syntaxe LDAP au format ASN.1 ) + BER Un dialogue LDAP s établit après une phase d ouverture de session dite bind. Le bind peut être anonyme ou authentifié. Formation permanente ARS LDAP Format de données LDIF 34.8 Format de données LDIF Problème : comment manipuler les objets LDAP en pratique? Réponse : en les manipulant au format LDAP Data Interexchange Format, dit LDIF LDIF n intervient pas dans le protocole LDAP (pas de mention dans les RFC par exemple). LDIF n est compris que par les utilitaires qui le convertissent en protocole LDAP. Formation permanente ARS
60 LDAP Format de données LDIF Attention aux caractères non ASCII : si la valeur d un attribut est uniquement composé de caractères ASCII, on l écrit attribut : valeur si la valeur d un attribut contient des caractères non ASCII, il faut coder cette valeur en Base64 puis la coder en UTF-8 et écrire au final attribut :: valeur2 Par exemple l attribut description de valeur Université de Paris-Sorbonne, Paris 4 ne sera pas codé en LDIF sous la forme description: Université de Paris-Sorbonne, Paris 4 mais sous la forme description:: VW5pdmVyc2l0w6kgZGUgUGFyaXMtU29yYm9ubmUsIFBhcmlzIDQ=! Notez les différences! 2 utilitaires pratiques : Formation permanente ARS LDAP Format de données LDIF Exemple d une DSE avec des caractères accentués non encore codés en LDIF : dn: ou=personnel,dc=paris4,dc=sorbonne,dc=fr objectclass: top objectclass: organizationalunit ou: Personnels de l Université de Paris-Sorbonne, Paris 4 businesscategory: academic research telephonenumber: +33 (0) facsimiletelephonenumber: +33 (0) postofficebox: Université de Paris-Sorbonne, Paris 4 postalcode: F postaladdress: 1 rue Victor Cousin l: Paris, France description: Université de Paris-Sorbonne, Paris 4 Exemple d une DSE au format LDIF : dn: ou=personnel,dc=paris4,dc=sorbonne,dc=fr objectclass: top objectclass: organizationalunit ou:: UGVyc29ubmVscyBkZSBsJ1VuaXZlcnNpdMOpIGRlIFBhcmlzLVNvcmJvbm5lLCBQYXJpcyA0 businesscategory: academic research telephonenumber: +33 (0) facsimiletelephonenumber: +33 (0) postofficebox:: VW5pdmVyc2l0w6kgZGUgUGFyaXMtU29yYm9ubmUsIFBhcmlzIDQ= postalcode: F postaladdress: 1 rue Victor Cousin l: Paris, France description:: VW5pdmVyc2l0w6kgZGUgUGFyaXMtU29yYm9ubmUsIFBhcmlzIDQ= Formation permanente ARS
61 LDAP Implémentations 34.9 Implémentations Il existe plusieurs implémentations de LDAP : OpenLdap, version (au 21 août 2002) SUN ONE (anciennement Netscape Directory Server, racheté par SUN devenu Sun Iplanet Directory puis SUN ONE) incorporé de base dans Solaris 8 et ultérieur Novell Directory Services, version 4? Les différentes implémentations respectent les normes du protocole. Par contre, elles différent au niveau de tout ce qui n est pas norme. En particulier, les droits d accès aux données sont codés de façon incompatible. Formation permanente ARS LDAP OpenLDAP OpenLDAP Cf Les versions 2.x.y d OpenLDAP sont compatibles avec les normes de LDAP v3. Le logiciel se compose de : du serveur LDAP slapd du serveur de synchronisation slurpd d utilitaires (slapadd ldapsearch, ldapadd, ldapdelete, ldapmodify, ldappasswd, etc.) librairies, include LDAP un fichier de configuration slapd.conf dans lequel on définit le suffixe, le rootdn, le mot de passe du rootdn Formation permanente ARS
62 LDAP OpenLDAP Le mécanisme de réplication de serveurs OpenLDAP est le suivant : 1) demande de modification 2) réponse : referral slapd (Esclave) 7) slurpd client 6) 3) demande de modification 4) réponse (OK/not OK) slapd (Maitre) 5) Journal des modifications Formation permanente ARS LDAP ObjectClass posixaccount, shadowaccount ObjectClass posixaccount, shadowaccount Cf RFC2307 Cf le schéma nis.schema dans OpenLDAP. L objectclass posixaccount est l objet qui implémente l équivalent de la structure C de <pwd.h> : objectclass ( NAME posixaccount SUP top AUXILIARY DESC Abstraction of an account with POSIX attributes MUST ( cn $ uid $ uidnumber $ gidnumber $ homedirectory ) MAY ( userpassword $ loginshell $ gecos $ description ) ) L objectclass shadowaccount est l objet qui implémente le principe des shadow passwds : objectclass ( NAME shadowaccount SUP top AUXILIARY DESC Additional attributes for shadow passwords MUST uid MAY ( userpassword $ shadowlastchange $ shadowmin $ shadowmax $ shadowwarning $ shadowinactive $ shadowexpire $ shadowflag $ description ) ) Formation permanente ARS
63 LDAP Un peu de bibliographie Un peu de bibliographie Formation permanente ARS
64 Sélection de naming services, /etc/nsswitch.conf Chapitre 35 : Sélection de naming services, /etc/nsswitch.conf 35.1 Problématique Exemple : il y a les fichiers système (/etc/passwd, /etc/hosts, /etc/services,...) ilyaledns ilyanis il y a NIS+ ilyaldap etc. Comment choisir quels services répondront aux requêtes de recherche de nom? Une solution : préciser quels naming services seront utilisés et dans quel ordre au niveau du fichier /etc/nsswitch.conf (naming service switch). Formation permanente ARS Sélection de naming services, /etc/nsswitch.conf Syntaxe de /etc/nsswitch.conf 35.2 Syntaxe de /etc/nsswitch.conf Le fichier est au format suivant : service: source [ status=action status=action... ] source... avec : pour source l un des mots clef files, dns, ldap, nis, nisplus, xfn (liste à vérifier selon les systèmes Unix offrant plus ou moins de ces services) pour status l un des mots clef suivants : SUCCESS, entrée recherchée trouvée NOTFOUND, entrée recherchée non trouvée UNAVAIL, la source n est pas configurée sur ce système ou bien elle est défaillante TRYAGAIN, la source est occupée et ne peut pas répondre actuellement, peut-être plus tard Formation permanente ARS
65 Sélection de naming services, /etc/nsswitch.conf Syntaxe de /etc/nsswitch.conf pour action l un des mots clefs : return, retourner la valeur trouvée ou la non valeur continue, essayer la source suivante forever (uniquement pour TRYAGAIN), persister sur cette source jusqu à avoir une réponse Par défaut, on a pour chaque source : [SUCCESS=return NOTFOUND=continue UNAVAIL=continue TRYAGAIN=forever] Formation permanente ARS Sélection de naming services, /etc/nsswitch.conf Exemple de /etc/nsswitch.conf 35.3 Exemple de /etc/nsswitch.conf (pris sur SOLARIS) passwd: files ldap group: files ldap hosts: ldap [NOTFOUND=return] files ipnodes: files networks: ldap [NOTFOUND=return] files protocols: ldap [NOTFOUND=return] files rpc: ldap [NOTFOUND=return] files ethers: ldap [NOTFOUND=return] files netmasks: ldap [NOTFOUND=return] files bootparams: ldap [NOTFOUND=return] files publickey: ldap [NOTFOUND=return] files netgroup: ldap automount: files ldap aliases: files ldap # for efficient getservbyname() avoid ldap services: files ldap sendmailvars: files # role-based access control auth_attr: files ldap exec_attr: files ldap prof_attr: files ldap user_attr: files ldap # audit audit_user: files ldap project: files ldap Formation permanente ARS
66 Sélection de naming services, /etc/nsswitch.conf A propos de LDAP 35.4 A propos de LDAP Pour les systèmes n incorporant pas LDAP en natif dans l OS, se reporter à : Formation permanente ARS
67 Pluggable Authentification Module, PAM Chapitre 36 : Pluggable Authentification Module, PAM 36.1 Problématique Exemple : Soit une machine dans une université, hébergeant les comptes de 10 professeurs et de 1000 élèves. La machine est équipée d un modem. Les professeurs sont autorisés à se connecter à la machine par modem, pas les élèves. La machine est cliente NIS. Quand on se connecte par modem sur une machine, le système lance la commande login lorsque la connexion s établit. Comment implémenter cela? En modifiant le programme login pour l adapter à ce cas très particulier??? Formation permanente ARS Pluggable Authentification Module, PAM Problématique La problématique en général : Comment changer une méthode d authentification dans un programme (par exemple FTP) sans avoir à tout reprogrammer? Une solution développée par SUN à l origine et reprise et encouragée dans Linux : Pluggable Authentification Module dit PAM Formation permanente ARS
68 Pluggable Authentification Module, PAM Principe de PAM 36.2 Principe de PAM L authentication fait appel par l intermédiaire de PAM à des modules externes de code d authentification appropriée selon le service. On déporte l authentification en dehors du programme. 4 catégories de modules PAM : module d authentification (authentication) fonctionnalités pour authentifier un utilisateur et définir ses créances module de gestion de compte (account management) fonctionnalités pour déterminer si l utilisateur dispose d un compte valide (car possibilité d expiration de mot de passe dit password aging, de restrictions d accès horaire) module de gestion de session (session management) fonctionnalités pour définir et terminer les sessions utilisateur module de gestion de mot de passe (password management) fonctionnalités pour changer un mot de passe utilisateur et certaines caractéristiques du compte Pour une certaine application, on organise les modules nécessaires sous forme d une pile et chaque module de la pile va être essayé pour constituer l authentification demandée. Selon la configuration, un utilisateur pourra être amené à rentrer plusieurs mots de passe. Formation permanente ARS Pluggable Authentification Module, PAM Fichier de configuration /etc/pam.conf 36.3 Fichier de configuration /etc/pam.conf /etc/pam.conf définit quels modules seront utilisés pour chaque application. (Sur Linux, on trouve aussi le répertoire /etc/pam.d qui contient un fichier par application portant le nom de l application. Ainsi /etc/pam.d/login pour le service login.) Une ligne de /etc/pam.conf contient 5 champs : service_name module_type control_flag module_path options Leservice_name nomme le service concerné par la ligne (other pour service joker) Lemodule_type est l un des 4 mots clef : auth, account, session, password Lecontrol_flag est l un des 4 mots clef : requisite, required, optional, sufficient Lemodule_path est le chemin du module. Les options dépendent du module. Formation permanente ARS
69 Pluggable Authentification Module, PAM Fichier de configuration /etc/pam.conf Par exemple, le service login fait appel aux modules suivants : # Authentication management login auth required /usr/lib/security/pam_unix.so.1 login auth required /usr/lib/security/pam_dial_auth.so.1 # Account management login account requisite /usr/lib/security/pam_roles.so.1 login account required /usr/lib/security/pam_projects.so.1 login account required /usr/lib/security/pam_unix.so.1 # Session management other session required /usr/lib/security/pam_unix.so.1 # Password management other password required /usr/lib/security/pam_unix.so.1 Formation permanente ARS Pluggable Authentification Module, PAM Directives d essai des modules 36.4 Directives d essai des modules Les directives possibles d essai des modules sont : directive required la valeur de retour de ce module doit être PAM_SUCCESS pour sortir de la pile d authentification avec succès ; PAM_AUTH_ERR fera recommencer toute la pile directive requisite une valeur de retour PAM_AUTH_ERR fait sortir de la pile d authentification prématurément en échec directive optional si ce module échoue, on sortira de la pile avec succès si un autre module dans la pile réussit directive sufficient une valeur de retour PAM_SUCCESS de ce module fait sortir de la pile d authentification prématurément avec succès ; les autres modules dans la pile ne sont pas pris en compte Formation permanente ARS
70 Pluggable Authentification Module, PAM Modules, /usr/lib/security 36.5 Modules, /usr/lib/security Les modules sont conventionnellement stockés dans /usr/lib/security/ Par exemple sur Solaris : % ls /usr/lib/security amiserv pam_ldap.so.1 pam_sample.so.1 pam_ami.so pam_projects.so pam_smartcard.so pam_ami.so.1 pam_projects.so.1 pam_smartcard.so.1 pam_dial_auth.so pam_rhosts_auth.so pam_unix.so pam_dial_auth.so.1 pam_rhosts_auth.so.1 pam_unix.so.1 pam_krb5.so pam_roles.so sparcv9 pam_krb5.so.1 pam_roles.so.1 pam_ldap.so pam_sample.so Chaque module fournit l implémentation d un mécanisme spécifique. Formation permanente ARS Pluggable Authentification Module, PAM Modules, /usr/lib/security /usr/lib/security/pam_unix.so.1 fournit un suport d authentification, gestion de compte, session de mot de passe. Il utilise les mots de passe Unix pour l authenfication. /usr/lib/security/pam_dial_auth.so.1 peut seulement être utilisé pour l authentification. Il utilise des données stockées dans /etc/dialups et /etc/d_passwd. Principalement utilisé par login. /usr/lib/security/pam_rhosts_auth.so.1 peut seulement être utilisé pour l authentification. Il utilise les données stockées dans les fichiers.rhosts et /etc/hosts.equiv. Principalement utilisé par rlogin et rsh. Formation permanente ARS
71 Pluggable Authentification Module, PAM Options des modules 36.6 Options des modules On peut passer certaines options aux modules des options spécifiques à chaque module ; cf la documentation de chaque module ; par exemple retry=3 ou debug option use_first_pass Cette option indique d utiliser exclusivement le mot de passe entré pour le premier module de la pile du service. option try_first_pass Cette option indique d utiliser d abord le mot de passe entré pour le premier module de la pile du service et en cas d échec de ce mot de passe d en demander un autre. (Le support des options use_first_pass et try_first_pass est fortement conseillé auprès des développeurs de modules PAM ; à vérifier donc avec chaque module) Formation permanente ARS Pluggable Authentification Module, PAM Exemple 1 Extrait de /etc/pam.conf : 36.7 Exemple 1 # Authentication management login auth required /usr/lib/security/pam_unix.so.1 login auth required /usr/lib/security/pam_dial_auth.so.1 Fichier /etc/dialups : /dev/pts/9 Fichier /etc/d_passwd /bin/bash:nuemrw70uy9m.: Session interactive : % tty /dev/pts/9 % exec login exec login login: besancon Password: XXXXXXXX <-- mot de passe Dialup Password: YYYYYYYY <-- mot de passe %% <-- connexion établie, shell lancé On voit bien la ligne supplémentaire «Dialup Password:» Formation permanente ARS
72 Pluggable Authentification Module, PAM Exemple 1 Si l on se trompe dans l un des mots de passe, toutes les demandes de mot de passe sont réessayées : % exec login login: besancon Password: ZZZZZZZZ <-- mauvais mot de passe Dialup Password: YYYYYYYY <-- mot de passe OK Login incorrect login: besancon Password: XXXXXXXX <-- mot de passe OK Dialup Password: ZZZZZZZZ <-- mauvais mot de passe Login incorrect login: besancon Password: XXXXXXXX <-- mot de passe OK Dialup Password: YYYYYYYY <-- mot de passe OK %% <-- connexion établie, shell lancé Au niveau SYSLOG, ça laisse quelques traces : Aug 20 14:51:14 cerise login: [ID auth.debug] pam_authenticate: error Authentication failed... Aug 20 14:51:34 cerise login: [ID auth.debug] pam_authenticate: error Authentication failed Formation permanente ARS Pluggable Authentification Module, PAM Exemple Exemple 2 Pour autoriser l authentification par LDAP, on mettra dans /etc/pam.conf : # Authentication management login auth sufficient /usr/lib/security/pam_unix.so.1 login auth required /usr/lib/security/pam_ldap.so.1 use_first_pass Formation permanente ARS
73 Pluggable Authentification Module, PAM A propos de LDAP 36.9 A propos de LDAP Pour les systèmes n incorporant pas LDAP en natif dans l OS, se reporter à : Formation permanente ARS Pluggable Authentification Module, PAM Un peu de bibliographie Un peu de bibliographie Formation permanente ARS
74 Connexion des utilisateurs Chapitre 37 : Connexion des utilisateurs 37.1 Fichier utmp : <utmp.h> Traditionnellement /var/adm/utmp. Ce fichier contient des informations concernant les accès des utilisateurs et concernant les reboots de la machine. struct utmp { char ut_user[8]; /* User login name */ char ut_id[4]; /* /etc/inittab id(usually line #) */ char ut_line[12]; /* device name (console, lnxx) */ short ut_pid; /* short for compat. - process id */ short ut_type; /* type of entry */ struct exit_status ut_exit; /* The exit status of a process */ /* marked as DEAD_PROCESS. */ time_t ut_time; /* time entry was made */ }; Formation permanente ARS Connexion des utilisateurs Fichier utmp : <utmp.h> Ce fichier ne grossit pas vraiment : un enregistrement est écrit à la connexion d un utilisateur et mentionne le couple (utilisateur, terminal) l enregistrement est marqué de type USER_PROCESS lorsque la connexion se termine, l enregistrement est marqué DEAD_PROCESS à la prochaine connexion du même utilisateur sur le même terminal, on réutilisera cet enregistrement. Formation permanente ARS
75 Connexion des utilisateurs Fichier utmpx : <utmpx.h> 37.2 Fichier utmpx : <utmpx.h> (en anglais utmp extended) C est une extension de la structure utmp : struct utmpx { char ut_user[32]; /* user login name */ char ut_id[4]; /* inittab id */ char ut_line[32]; /* device name (console, lnxx) */ pid_t ut_pid; /* process id */ short ut_type; /* type of entry */ struct ut_exit_status ut_exit; /* process termination/exit status */ struct timeval ut_tv; /* time entry was made */ int ut_session; /* session ID, used for windowing */ int pad[5]; /* reserved for future use */ short ut_syslen; /* significant length of ut_host */ /* including terminating null */ char ut_host[257]; /* remote host name */ }; Le principe reste le même sauf que le fichier stockant les données est /var/adm/utmpx Formation permanente ARS Connexion des utilisateurs Fichier wtmp : <utmp.h> 37.3 Fichier wtmp : <utmp.h> Traditionnellement /var/adm/wtmp. Ce fichier contient les historiques des connexions des utilisateurs et de l accounting. Ce fichier grossit au cours du temps car on y accumule les enregistrements utmp en fin de fichier. Formation permanente ARS
76 Connexion des utilisateurs Fichier wtmpx : <utmpx.h> 37.4 Fichier wtmpx : <utmpx.h> (en anglais wtmp extended) Le principe reste le même que celui pour wtmp sauf que le fichier stockant les données est /var/adm/wtmpx Formation permanente ARS Connexion des utilisateurs Commande last 37.5 Commande last Syntaxe : last [options] [utilisateur] [terminal] La commande last consulte le fichier /var/adm/wtmpx et affiche les enregistrements à l écran : besancon ftp localhost Sun Aug 25 12:13-12:15 (00:01) besancon ftp localhost Sun Aug 25 12:04-12:05 (00:01) besancon ftp localhost Sun Aug 25 12:03-12:04 (00:00) besancon console Sat Aug 24 11:24 still logged in besancon console Sat Aug 24 01:12-11:24 (10:12) reboot system boot Sat Aug 24 01:10 besancon pts/9 Tue Aug 20 14:52 - down (3+10:17) besancon pts/9 Tue Aug 20 14:51-14:52 (00:00)... wtmp begins Wed Feb 20 20:58 Formation permanente ARS
77 Pseudo terminaux Chapitre 38 : Pseudo terminaux 38.1 Devices associés aux pseudo terminaux Pseudos terminaux (virtuels ou physiques) pour : terminal type vt100, xterm, etc. Les fichiers associés aux pseudo terminaux se trouvent dans /dev. Par exemple /dev/tty01 pour le terminal série /dev/console pour l écran principal de la machine pour les connexions réseau, on utilise deux fichiers par connexion : un fichier maître et un fichier esclave. Le master pseudo terminal a pour nom /dev/pty[p-s]nn sur BSD, /dev/ptc/nn sur System-V. Le slave pseudo terminal a pour nom /dev/tty[p-s]nn sur BSD, /dev/pts/nn sur System-V. Formation permanente ARS Pseudo terminaux Commande tty, device /dev/tty 38.2 Commande tty, device /dev/tty Pour connaître le nom du terminal courant, utiliser la commande tty : % tty /dev/pts/1 Un fichier spécial, /dev/tty : % tty /dev/pts/1 % echo oui > /dev/tty oui Les entrées / sorties de /dev/tty sont associées à votre terminal. Formation permanente ARS
78 Pseudo terminaux Nombre de terminaux 38.3 Nombre de terminaux Attention : Il doit y avoir un nombre suffisant de terminaux pour accueillir les utilisateurs. Dans le cas contraire : % rlogin serveur.prism.uvsq.fr rlogind: All network ports in use. Connection closed. Comment corriger le problème? La correction du problème se fait à deux niveaux : 1. vérifier le nombre de terminaux configurés dans le noyau : pseudo-device pty 256 #Pseudo ttys - can go as high as augmenter le nombre de fichiers terminaux dans /dev : # cd /dev #./MAKEDEV pty1 #./MAKEDEV pty2 #./MAKEDEV pty3 #./MAKEDEV pty4 etc. Formation permanente ARS Pseudo terminaux Phase de connexion, init, getty 38.4 Phase de connexion, init, getty init gére l ensemble des lignes physiques sur lesquelles les utilisateurs se connectent. Au démarrage d init, après consultation de /etc/inittab ou de /etc/ttys, ilya lancement d un processus getty par ligne physique attachée à l unité centrale. % ps -edf USER PID PPID %CPU STARTED TT TIME COMMAND [...] root Aug :00.04 /usr/sbin/getty /dev/tty04 c root Aug :00.04 /usr/sbin/getty /dev/tty05 c [...] La commande getty configure les paramètres de la ligne (vitesse, parité, etc.) puis attend qu un utilisateur se manifeste. Formation permanente ARS
79 Pseudo terminaux Phase de connexion, init, getty Lorsqu un utilisateur tape son nom de login, le getty en question donne la main au programme login : % ps -edf USER PID PPID %CPU STARTED TT TIME COMMAND [...] root Aug :00.04 /usr/sbin/getty /dev/tty04 c root Aug :00.09 login besancon [...] Le programme login valide ou pas l utilisateur. Dans le cas favorable, une session shell est lancée (notez le caractère «-» en début du nom du shell) : % ps -edf USER PID PPID %CPU STARTED TT TIME COMMAND [...] root Aug :00.04 /usr/sbin/getty /dev/tty04 c besancon Aug : bash (bash) [...] Lorsque le shell se termine, init détecte la terminaison d un de ses fils. Il regénére alors un nouveau processus getty. Formation permanente ARS Pseudo terminaux Liste BSD des terminaux physiques : /etc/ttys 38.5 Liste BSD des terminaux physiques : /etc/ttys Les lignes à surveiller par init sont précisées via le fichier /etc/ttys : console none unknown off secure ttyv0 "/usr/libexec/getty Pc" cons25 on secure # Virtual terminals ttyv1 "/usr/libexec/getty Pc" cons25 on secure ttyv2 "/usr/libexec/getty Pc" cons25 on secure ttyv3 "/usr/libexec/getty Pc" cons25 on secure # Serial terminals ttyd0 "/usr/libexec/getty std.9600" unknown off secure ttyd1 "/usr/libexec/getty std.9600" unknown off secure # Pseudo terminals ttyp0 none network ttyp1 none network Formation permanente ARS
80 Pseudo terminaux Liste System-V des terminaux physiques : /etc/inittab 38.6 Liste System-V des terminaux physiques : /etc/inittab Les lignes à surveiller par init sont précisées via le fichier /etc/inittab : lat01:3:respawn:/usr/sbin/getty /dev/tty01 lat02:3:respawn:/usr/sbin/getty /dev/tty02... lat0e:3:respawn:/usr/sbin/getty /dev/tty0e lat0f:3:respawn:/usr/sbin/getty /dev/tty0f console vt100 console vt100 console vt100 console vt100 Formation permanente ARS Pseudo terminaux Terminaux sécurisés 38.7 Terminaux sécurisés Root est-il autorisé à se connecter sur tout terminal? % rlogin ars01.formation.jussieu.fr -l root Password: Not on system console Connection closed. Pourquoi? Parce qu un login au nom de root est anonyme et interdit en conséquence. Comment contrôler l accès? Formation permanente ARS
81 Pseudo terminaux Terminaux sécurisés Contrôle d accès sur BSD Au niveau de /etc/ttys ou /etc/ttytab :... The super-user root may only log in on those terminals marked as "secure" in the /etc/ttytab file. Otherwise, the super-user must log in as an ordinary user and become super-user using su(1v). For example, if the file contained: console "/etc/getty Console-9600" sun on secure tty00 "/etc/getty Console-9600" sun on the super-user could only log in directly on the console. See ttytab(5) for a discussion of secure and other getty(8) options used in /etc/ttytab. Formation permanente ARS Pseudo terminaux Terminaux sécurisés Contrôle d accès sur DIGITAL Unix Au niveau de /etc/securettys : # # Note: Each entry in this file represents a device (secure device) # from which root login is permitted. For, pseudo ttys (ptys) a # single keyword entry "ptys" means all ptys are to be treated as being # secure. Note that the entry is "ptys" and not prefixed by /dev # as is customary for the other physical devices. The absence of # this key word implies that root login will not be permitted from # all ptys. X displays are indicated with the display name. # # <device name> /dev/console local:0 :0 ptys Formation permanente ARS
82 Pseudo terminaux Terminaux sécurisés Contrôle d accès sur Linux Au niveau de /etc/securetty : ## /etc/securetty is used by login(1); the file contains tty ## lines (without leading /dev/) on which root is allowed to ## login. tty1 tty2 tty3 tty4 tty5 tty6 tty7 tty8 ttyp0 ttyp1 Formation permanente ARS Pseudo terminaux Terminaux sécurisés Contrôle d accès sur Solaris Au niveau de /etc/default/login :... # If CONSOLE is set, root can only login on that device. # Comment this line out to allow remote login by root. # CONSOLE=/dev/console... Formation permanente ARS
83 Terminaux X, XDM Chapitre 39 : Terminaux X, XDM 39.1 introduction sur les terminaux X Un terminal X est un poste de travail graphique : offrant le système graphique X sans système d exploitation complexe à gérer et à maintenir simple à configurer En 2002, on constate : coût élevé d un terminal X ; parfois plus cher qu un poste PC Windows multimédia désaffection des constructeurs (reste NCD) manque de périphériques supportés ; pas de floppy, pas de son, pas de USB... Formation permanente ARS Terminaux X, XDM XDM : X Display Management 39.2 XDM : X Display Management On parlera de serveur XDM pour une machine qui fait tourner l application xdm qui implémente XDM. XDM est l analogue graphique de la demande de login/password du mode texte. Visuellement, cela se traduit par une mire d accueil. login: Password: vangogh Login: Password: XDM offre des possibilités : de fournir des mires d accueil pour des terminaux X via des requêtes selon le protocole XDMCP (X Display Management Control Protocol) de gérer des serveurs X distants Formation permanente ARS
84 Terminaux X, XDM Requêtes XDMCP 39.3 Requêtes XDMCP 3 formes de réquêtes : Forme 1 : direct query Le serveur X contacte un serveur XDM nomément. Forme 2 : broadcast query Une requête est envoyée sur le réseau en mode broadcast et une mire d accueil est offerte par le premier serveur XDM qui peut répondre. Forme 3 : indirect query Le serveur X contacte une machine et lui demande la liste des serveurs XDM qu elle connait. Le serveur X se voit proposer de choisir un hôte XDM parmi cette liste. Formation permanente ARS Terminaux X, XDM Gestion directe de serveurs X 39.4 Gestion directe de serveurs X XDM envoie de lui même des mires d accueil à une liste de serveurs X. Formation permanente ARS
85 Terminaux X, XDM Fichier de configuration xdm-config 39.5 Fichier de configuration xdm-config Traditionnellement dans l un de ces répertoires : répertoire /etc/x11/xdm répertoire /usr/x11r6/lib/x11/xdm répertoire /usr/openwin/lib/x11/xdm Ce fichier définit les noms et les répertoires des autres fichiers de configuration de xdm ainsi que quelques options de configuration : Par exemple : DisplayManager.errorLogFile: /var/log/xdm-errors DisplayManager.pidFile: /var/run/xdm-pid DisplayManager.keyFile: /usr/x11r6/lib/x11/xdm/xdm-keys DisplayManager.servers: /usr/x11r6/lib/x11/xdm/xservers DisplayManager.accessFile: /usr/x11r6/lib/x11/xdm/xaccess...! SECURITY: do not listen for XDMCP or Chooser requests! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0 Formation permanente ARS Terminaux X, XDM Fichier de configuration Xaccess 39.6 Fichier de configuration Xaccess Ce fichier contient une liste de machines autorisées à se connecter à XDM. Par exemple : ## Direct queries * ## Indirect queries * CHOOSER BROADCAST La ligne avec l étoile * indique que toute machine est autorisée à faire une requête de type query direct. La seconde ligne indique qu une sélection de hôtes XDM sera affiché à qui fera une requête de type indirect query et que la liste des hôtes XDM sera obtenue par broadcast. Formation permanente ARS
86 Terminaux X, XDM Fichier de configuration Xservers 39.7 Fichier de configuration Xservers Ce fichier contient la liste des serveurs X gérés directement par XDM. Par exemple : # Console de la machine :0 local /usr/x11r6/bin/x # Autres terminaux riri:0 foreign fifi:0 foreign loulou:0 foreign Formation permanente ARS Terminaux X, XDM Fichier de configuration Xresources 39.8 Fichier de configuration Xresources Ce fichier contient les ressources pour personnaliser l apparence de la mire d accueil. xlogin*greeting: Welcome to CLIENTHOST xlogin*nameprompt: \040\040\040\040\040\040\040Login: xlogin*fail: Login incorrect #if WIDTH > 800 xlogin*greetfont: -adobe-helvetica-bold-o-normal p-138-iso xlogin*font: -adobe-helvetica-medium-r-normal p-103-iso xlogin*promptfont: -adobe-helvetica-bold-r-normal p-103-iso xlogin*failfont: -adobe-helvetica-bold-r-normal p-103-iso #else xlogin*greetfont: -adobe-helvetica-bold-o-normal p-92-iso xlogin*font: -adobe-helvetica-medium-r-normal p-69-iso xlogin*promptfont: -adobe-helvetica-bold-r-normal p-69-iso xlogin*failfont: -adobe-helvetica-bold-o-normal p-82-iso #endif #ifdef COLOR xlogin*borderwidth: 1 xlogin*shdcolor: grey30... Formation permanente ARS
87 Terminaux X, XDM Application CHOOSER 39.9 Application CHOOSER Le sélecteur de hôtes XDM s appelle le chooser. Formation permanente ARS Terminaux X, XDM Application CHOOSER La liste des hôtes peut être obtenue par : broadcast Syntaxe au niveau du fichier Xaccess : * CHOOSER BROADCAST liste explicite Syntaxe au niveau du fichier Xaccess : %hostlist cerise poire pomme * CHOOSER %hostlist Formation permanente ARS
88 Terminaux X, XDM Ressources X pour XDM Ressources X pour XDM Il y a diverses ressources de personnalisation de xdm : apparence de la mire apparence du chooser mais aussi personnalisation de la configuration de XDM selon le serveur X géré : display local «:0.0»désigné par le mot clef «_0» autre display «host:0.0» désigné par le mot clef «host_0» Extrait d un fichier xdm-config :... DisplayManager._0.authorize: true! The following three resources set up display :0 as the console. DisplayManager._0.setup: /usr/x11r6/lib/x11/xdm/xsetup_0 DisplayManager._0.startup: /usr/x11r6/lib/x11/xdm/giveconsole DisplayManager._0.reset: /usr/x11r6/lib/x11/xdm/takeconsole... Formation permanente ARS Terminaux X, XDM KDM : KDE Display Manager KDM : KDE Display Manager Fichier de configuration : /usr/local/share/config/kdm/kdmrc Utilitaire de configuration : /usr/local/bin/kdm_config Formation permanente ARS
89 Terminaux X, XDM GDM : Gnome Display Manager GDM : Gnome Display Manager Fichier de configuration /usr/x11r6/etc/gdm/gdm.conf Utilitaire de configuration : /usr/x11r6/bin/gdmconfig Formation permanente ARS Terminaux X, XDM Session X de l utilisateur Session X de l utilisateur xdm crée un shell sur le serveur de calcul qui configure l environnement graphique de l utilisateur via le fichier "$HOME/.xsession". µ la durée de vie de la session sous X est celle du script $HOME/.xsession Formation permanente ARS
90 Terminaux X, XDM Session X de l utilisateur En général : #!/bin/sh applix1 & applix2 &... applixn & applix Le dernier client X n est pas lancé en tâche de fond. En général, le dernier client est un window manager. Cf ftp://ftp.lip6.fr/pub/doc/faqs/x-faq/speedups.gz Formation permanente ARS Terminaux X, XDM Mode Failsafe Mode Failsafe S il y a des erreurs, les messages de celles-ci sont écrits dans le fichier $HOME/.xsession-errors. En cas d erreur grave dans $HOME/.xsession empêchant le démarrage de la session X, utiliser le mode FailSafe : 1. entrer le nom de login 2. valider par la tocuhe Retour 3. entrer le mot de passe 4. valider par la touche F1 et non pas par la touche Retour Il apparait alors un simple xterm sans window manager. Formation permanente ARS
91 Terminaux légers Chapitre 40 : Terminaux légers 40.1 Problématique Un «vrai» terminal X est maintenant trop cher. Un «vrai» terminal X est maintenant trop limitatif : pas de multimédia Solution : le client léger Appelation un peu abusive. Ni un PC. Ni un terminal X : succédané d architecture de PC x86 faible consommation électrique µ pas de ventilateur µ silencieux mémoire flash (pas de disque dur local) système d exploitation de type LINUX minimaliste ou Windows CE µ support des périphériques récents (USB, wake-on-lan,...) Formation permanente ARS Terminaux légers RDP 40.2 RDP RDP Remote Desktop Protocol Actuellement version 5.1 Développé par Microsoft. Caractéristiques : channels possibles, redirection des ports parallèles et du port IDE, cliboad manager, virtual channel Se reporter à : Formation permanente ARS
92 Terminaux légers RDP Formation permanente ARS Terminaux légers RDP A noter le client RDP Linux RDESKTOP, Formation permanente ARS
93 Terminaux légers ICA 40.3 ICA ICA Independant Client Architecture Actuellement version 6 Développé par la société CITRIX. Dialogue avec le logiciel METAFRAME de Citrix Load balancing Accès modem optimisé Licences ICA nécessaires par client ou par poste Se reporter à : Mon avis : cela fonctionne bien quand cela fonctionne il existe des clients ICA pour Unix mais ce n est pas le scenario que cherche à pousser CITRIX µ support logiciel minable pour la clientèle Unix Formation permanente ARS Terminaux légers ICA Formation permanente ARS
94 Terminaux légers ICA Formation permanente ARS Terminaux légers ICA Formation permanente ARS
95 Terminaux légers VNC 40.4 VNC VNC Virtual Network Computing VNC est un logiciel permettant de viusaliser le bureau de n importe quel ordinateur Macintosh, Windows, Unix depuis Internet (en l occurence depuis Macintosh, Windows, Unix, browser avec java). Le logiciel se compose : une partie de visualisation dite vncviewer une partie serveur Le logiciel est utilisable même avec une liaison téléphonique avec un modem à bauds (testé). ATTENTION dans le cas Windows : VNC n est pas une extension à la Terminal Server. VNC est un partage, une prise en main de l écran distant du PC. Formation permanente ARS Terminaux légers VNC Prenons le cas d un vncviewer Unix qui se connectera à un vncserver Windows. La connexion s établit après demande du serveur à contacter : et la demande du mot de passe permettant de piloter le bureau distant du serveur : et après quelques lignes de texte de renseignements sur le serveur VNC : % vncviewer VNC server supports protocol version 3.3 (viewer 3.3) VNC authentication succeeded Desktop name "w2k" Connected to VNC server, using protocol version 3.3 VNC server default format: 32 bits per pixel. Least significant byte first in each pixel. True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 Using default colormap which is TrueColor. Pixel format: 32 bits per pixel. Most significant byte first in each pixel. True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 Formation permanente ARS
96 Terminaux légers VNC on obtient bien le bureau distant directement manipulable depuis son propre bureau : Formation permanente ARS Terminaux légers VNC A noter une réalisation matérielle et commerciale avec VNC : les terminaux AXEL AX3000 Model 65 (cf produit français!) Formation permanente ARS
97 Terminaux légers VNC Prenons le cas du serveur VNC pour Windows. Il s agit d une application Windows qui s installe classiquement : Formation permanente ARS Terminaux légers VNC Elle nécessite un réglage, en l occurence mettre un mot de passe de façon à contrôler qu peut capter à distance le bureau : Formation permanente ARS
98 Terminaux légers VNC Une fois paramétrée, une petite icône apparait dans le coin à droite de Windows indiquant que le service est fonctionnel : Quand un vncviewer est connecté au bureau Windows, la petite icône change de couleur et passe en noir de façon à prévenir l utilisateur qu il est «sur écoute» : On peut encapsuler le protocole VNC dans un tunnel de chiffrement bien sûr. Cf la documentation. Formation permanente ARS Terminaux légers VMWARE 40.5 VMWARE Version 4.x.y VMWARE ne tourne que sur plateforme à base de processeur Intel ou compatible. Ce logiciel offre sur la machine hôte, des machines virtuelles dans lesquelles peuvent tourner des OS comme Windows, Linux, Solaris, FreeBSD. Il s agit donc de machine virtuelle et non pas de prise en main comme avec VNC. Formation permanente ARS
99 Terminaux légers VMWARE Architecture : Formation permanente ARS Terminaux légers VMWARE Formation permanente ARS
100 Terminaux légers VMWARE Formation permanente ARS Terminaux légers VMWARE Formation permanente ARS
101 Terminaux légers VMWARE Formation permanente ARS Terminaux légers SUNRAY 40.6 SUNRAY C est un poste de travail «comme les autres» : Pas de disque dur Pas d applications locales Pas d alimentation externe Pas de configuration Pas de système d exploitation Pas de barrette mémoire Pas de ventilateur Pas de paramétrage particulier Il est 10 fois plus léger qu un PC et 12 fois moins volumineux Il peut même s intégrer dans un écran cathodique 17 pouces ou un écran plat de 15 pouces... Formation permanente ARS
102 Terminaux légers SUNRAY Avantages : Instantané, constant et simple Gestion centralisée Jamais besoin de mise à jour Silencieux 16 millions de couleurs (24 bits) Pas de setup Donc, pas de dé-setup Pas de modifications de vos applications AUCUN tranfert de fichier au boot Mise en production la plus rapide du monde! Formation permanente ARS Terminaux légers SUNRAY Caractéristiques hardware : CPU Sparc 1280 x 76 Hz frame buffer 24 bits 10/100Mb Ethernet Accès a Solaris, X11, Java, ICA fonctionnalités multimédia Lecteur de carte à puce E/S audio qualité CD Entrée vidéo NTSC/PAL Support USB ( 4 ports ) mais limité en pratique... Formation permanente ARS
103 Terminaux légers SUNRAY Architecture réseau : Formation permanente ARS Terminaux légers SUNRAY Architecture logicielle : Formation permanente ARS
104 Terminaux légers SUNRAY Architecture logicielle (2) : Formation permanente ARS Terminaux légers SUNRAY Cohabitation avec Windows possible : Formation permanente ARS
105 Protocole IP Chapitre 41 : Protocole IP Cf le cours réseau de Sylvie Dupuis, Christian Hascoet, Sébastien Vautherot pour plus de détails. Formation permanente ARS Protocole IP Ethernet 41.1 Ethernet Le principe d Ethernet : Carrier Sence Multiple Access / Collision Detect (CSMA/CD) 2 cas de figure : 1. Emission dans le cas du câble libre Formation permanente ARS
106 Protocole IP Ethernet 2. Collision lorsque deux stations émettent simultanément Tendances actuelles : Ethernet 100 Mbs, Ethernet Gigabit cablage cuivre, fibre optique Switches Formation permanente ARS Protocole IP Ethernet Format d une adresse Ethernet : 6 octets écrits sous la forme hexadécimale «xx:yy:zz:rr:ss:tt» avec : partie «xx:yy:zz» : elle identifie un constructeur partie «rr:ss:tt» : elle identifie un appareil chez le constructeur Exemple : % arp -a Net to Media Table: IPv4 Device IP Address Mask Flags Phys Addr eri0 solaris.example.org SP 00:03:ba:0f:15:35 Liste des constructeurs : liste des OUI (Organizationally Unique Identifiers) : Formation permanente ARS
107 Protocole IP Adresses IP 41.2 Adresses IP Quelques caractéristiques : protocole IP version 4 adresse IP sur 4 octets a.b.c.d a, b, c, d sont compris entre 0 et 255 et écrits en base 10 pour éviter des erreurs % man 3 inet... All numbers supplied as parts in a. notation may be decimal, octal, or hexadecimal, as specified in the C language (i.e., a leading 0x or 0X implies hexadecimal; otherwise, a leading 0 implies octal; otherwise, the number is interpreted as decimal).... des organismes attribuent des lots d adresses aux sociétés (pour la France notion de classes d adresses mais devient obsolète Formation permanente ARS Protocole IP Adresses IP Classe Format des adresses 7 bits 24 bits A 0 netid hostid à bits 16 bits B C D E 1 0 netid hostid à bits 8 bits netid hostid à bits multicast groupid à bits (reserved for future use) à Formation permanente ARS
108 Protocole IP Adresse spéciale : adresse de loopback 41.3 Adresse spéciale : adresse de loopback Interface virtuelle de loopback d adresse IP Permet de faire des connexions réseau avec soi-même. Formation permanente ARS Protocole IP Netmask 41.4 Netmask Le problème : comment la station A construit-elle les paquets Ethernet pour dialoguer avec la machine B, où que soit la station B? La difficulté : si B n est pas sur le même réseau que A, il faut construire un paquet avec pour adresse Ethernet de destination l adresse Ethernet du routeur et non pas avec l adresse Ethernet de B. La solution : A et B sont sur le même réseau physique si IP(A) et IP(B) partagent une même propriété. En l occurence si IP(A) & netmask(a) IP(B) & netmask(a) Formation permanente ARS
109 Protocole IP Adresse de broadcast 41.5 Adresse de broadcast Chaque machine IP écoute un paquet IP avec l adresse de broadcast pour adresse de destination et répond peut-être suivant le type du paquet. Formation permanente ARS Protocole IP Configuration de l adresse réseau Unix : ifconfig 41.6 Configuration de l adresse réseau Unix : ifconfig La commande ifconfig sert à régler les paramètres des cartes réseau : # ifconfig le0 inet # ifconfig le0 netmask 0xffffff80 # ifconfig le0 broadcast # ifconfig -a lo0: flags=849<up,loopback,running,multicast> mtu 8232 inet netmask ff le0: flags=863<up,broadcast,notrailers,running,multicast> mtu 1500 inet netmask ffffff80 broadcast ether 8:0:20:83:12:4a Formation permanente ARS
110 Protocole IP Configuration de l adresse réseau Unix : ifconfig Sur une machine Linux, la paramètrage réseau se trouve au niveau du fichier /etc/sysconfig/network-scripts/ifcfg-eth0 : DEVICE=eth0 IPADDR= NETMASK= NETWORK= BROADCAST= ONBOOT=yes Formation permanente ARS Protocole IP (Windows : : netsh) 41.7 (Windows : : netsh) La commande netsh permet de configurer en mode ligne de commande beaucoup d aspects réseau. A completer... Formation permanente ARS
111 Protocole IP Annuaire basique : /etc/hosts 41.8 Annuaire basique : /etc/hosts Le fichier /etc/hosts liste des couples (adresse IP, FQDN). Par convention, le nom principal d une machine est un FQDN (Fully Qualified Domain Name) : solaris n est pas un FQDN car le nom n est pas qualifié example.com est un nom de domaine. solaris.example.com est un FQDN Formation permanente ARS Protocole IP Routage : route 41.9 Routage : route La commande route sert à configurer le routage. Sur Linux : # route add default gw Sur Solaris : # route add default Sur une machine linux, se reporter au fichier /etc/sysconfig/network : NETWORKING=yes FORWARD_IPV4=false HOSTNAME=pcars5.formation.jussieu.fr DOMAINNAME=formation.jussieu.fr NISDOMAIN=real.world GATEWAY= GATEWAYDEV=eth0 Formation permanente ARS
112 Protocole IP (Windows : : route) (Windows : : route) A completer... Formation permanente ARS Protocole IP Routage : netstat Routage : netstat La commande netstat -r renvoie la table de routage d une machine Unix : % netstat -rn Routing Table: Destination Gateway Flags Ref Use Interface UGH U le U 3 0 le0 default UG UH lo0 Formation permanente ARS
113 Protocole IP (Windows : : netstat) (Windows : : netstat) A completer... Formation permanente ARS Protocole IP Tests de connectivité : ping Tests de connectivité : ping La commande ping teste si une machine répond au niveau réseau. % ping localhost localhost is alive On peut parfois pinger l adresse de broadcast : % /usr/sbin/ping -s PING : 1 data bytes 9 bytes from sunars1.formation.jussieu.fr ( ): icmp_seq=0. 9 bytes from sunars2.formation.jussieu.fr ( ): icmp_seq=0. 9 bytes from sunars4.formation.jussieu.fr ( ): icmp_seq=0. 9 bytes from sunars3.formation.jussieu.fr ( ): icmp_seq=0. 9 bytes from r-formation.formation.jussieu.fr ( ): icmp_seq=0. 9 bytes from sunars1.formation.jussieu.fr ( ): icmp_seq=1. 9 bytes from sunars2.formation.jussieu.fr ( ): icmp_seq=1. 9 bytes from sunars4.formation.jussieu.fr ( ): icmp_seq=1. 9 bytes from sunars3.formation.jussieu.fr ( ): icmp_seq=1. 9 bytes from r-formation.formation.jussieu.fr ( ): icmp_seq=1. ^C PING Statistics packets transmitted, 10 packets received, 5.00 times amplification Formation permanente ARS
114 Protocole IP (Windows : : ping) (Windows : : ping) A completer... Formation permanente ARS Protocole IP Tests de connectivité : traceroute Tests de connectivité : traceroute La commande traceroute permet de tester si une machine est joignable. Elle renvoie les intermédiaires réseau qui route notre acheminement vers la machine distante. Syntaxe : traceroute machine % traceroute ftp.lip6.fr traceroute to nephtys.lip6.fr ( ), 30 hops max, 40 byte packets 1 yacht ( ) 0 ms 0 ms 0 ms 2 renater ( ) 2 ms 1 ms 1 ms ( ) 3 ms 1 ms 1 ms ( ) 2 ms 1 ms 1 ms ( ) 2 ms 1 ms 1 ms 6 jussieu.rap.prd.fr ( ) 2 ms 2 ms 2 ms 7 nephtys.lip6.fr ( ) 2 ms 2 ms 2 ms Le nombre d intermédiaires n est pas proportionnel à l éloignement géographique de la machine destination. Formation permanente ARS
115 Protocole IP (Windows : : tracert) (Windows : : tracert) A completer... Formation permanente ARS Protocole IP Utilitaire libpcap Utilitaire libpcap (en anglais library packet capture) Cf C est une bibliothèque de programmation C spécialisée dans la capture de paquets réseau. Elle repose sur un driver réseau présent dans le noyau, le packet filter BPF. Formation permanente ARS
116 Protocole IP (Windows : : netcap) (Windows : : netcap) Dans le CDROM Windows XP, installer SUPPORT\TOOLS\support.cab : netcap C:\> netcap.exe /N:4 A completer... netmon? Formation permanente ARS Protocole IP Utilitaire tcpdump Cf Version (au 27 août 2002) Utilitaire tcpdump C est le logiciel de référence en ce qui concerne l analyse des trames IP circulant sur un réseau. Il est bâti au dessus de la libpcap qui fait tout le travail en fait. C est juste de l enrobage au dessus de libpcap. En cas de problème réseau, on utilisera ce logiciel si l origine du problème n est pas évidente. Exemple : # tcpdump -s 1500 host # tcpdump -s 1500 arp # tcpdump -s 1500 icmp # tcpdump -s 1500 dst sgbd.example.com port 5432 # tcpdump -s w fichier # tcpdump -s r fichier Formation permanente ARS
117 Protocole IP Utilitaire ethereal Utilitaire ethereal C est un logiciel graphique d analyse des trames IP circulant sur un réseau. On l utilise conjointement à tcpdump : 1. on demande à tcpdump d enregistrer les trames : tcpdump -s w enregistrement 2. on demande à etherreal de relire a posteriori ce fichier d enregistrement : ethereal enregistrement Formation permanente ARS Protocole IP Utilitaire ethereal Formation permanente ARS
118 Protocole IP (Windows : : etherreal) (Windows : : etherreal) A completer... Formation permanente ARS Protocole IP Utilitaire lsof Utilitaire lsof ftp://vic.cc.purdue.edu/pub/tools/unix/lsof/ lsof permet de connaître les filedescriptors ouverts sur une machine Unix. Cela comprend les connexions réseau. Par exemple, pour voir quels processus utilisent la partition /var/run : % lsof /var/run COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME lpd 410 daemon 6u VREG 0, /var/run (swap) dhcpd root 6w VREG 0, /var/run (swap) Formation permanente ARS
119 Protocole IP Utilitaire lsof Par exemple pour voir qui utilise une certaine connexion TCP : % lsof -i tcp:32771 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME inetd 320 root 18u IPv4 0x f350 0t0 TCP *:32771 (LISTEN) Par exemple pour voir qui utilise une certaine connexion UDP : % lsof -i UDP@ :3853 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ss_logd 232 root 3u IPv4 0x30001d961c0 0t0 UDP localhost:3853 (Idle) (format [protocol][@hostname hostaddr][:service port]) Formation permanente ARS Protocole IP Un peu de bibliographie Un peu de bibliographie TCP/IP Illustrated volume 1, par Richard Stevens, Addison Wesley TCP/IP Illustrated volume 2, par Richard Stevens, Addison Wesley TCP/IP Illustrated volume 3, par Richard Stevens, Addison Wesley Formation permanente ARS
120 Domain Name Server (DNS) Chapitre 42 : Domain Name Server (DNS) 42.1 Principes du DNS Impossibilité pratique de maintenir à jour les fichiers /etc/hosts. µ remplacement par un mécanisme d annuaire réparti dont chacun gère sa entrée propre : le Domain Name Server Particularités de la base de données du DNS : répartie petite avec une faible fréquence de changements des données hiérarchisée accès en consultation uniquement ; pas de requête de modification Formation permanente ARS Domain Name Server (DNS) Zone DNS 42.2 Zone DNS zone DNS : reflet de l aspect réparti et hiérarchisé du DNS partie contigüe de l arbre une zone parente délègue une zone fille à un ou plusieurs serveurs d informations (nameservers) sur la zone fille. com net fr lycos jussieu formation aero www ars1 ars5 Formation permanente ARS
121 Domain Name Server (DNS) Requête d interrogation du DNS 42.3 Requête d interrogation du DNS Le DNS est bâti selon un modèle client serveur Formation permanente ARS Domain Name Server (DNS) Requête d interrogation du DNS Le DNS utilise des root nameservers : Pour assurer un service fiable, une zone est servie par un nameserver primaire et plusieurs nameservers secondaires de secours qui se synchronisent entre eux. Formation permanente ARS
122 Domain Name Server (DNS) Requête d interrogation du DNS Principe de mémorisation des informations passées recueillies pour accélérer les réponses aux requêtes. L information a une date de péremption (TTL = Time To Live). Le serveur qui mémorise un record DNS n a pas autorité dessus. Chaque enregistrement de la base de données a : une classe ; la plus courante : IN (Internet) un type : A, PTR, NS, SOA, MX, CNAME,... et est donc de la forme : (classe, type, clé, valeur, TTL) Une requête ressemble alors à : (classe, type, clé,?,? ) (classe, *, clé,?,?) Formation permanente ARS Domain Name Server (DNS) Implémentation : BIND, named 42.4 Implémentation : BIND, named URL : Versions et (vérifier la disponibilité de versions plus récentes) Démon named Fichier de configuration /etc/named.conf (en général). Directory /etc/namedb stockant les fichiers de zone (en général). Formation permanente ARS
123 Domain Name Server (DNS) Implémentation : BIND, named Pour connaitre la version de named : % dig nameserver version.bind chaos Exemple 1 : % dig sorbon version.bind chaos txt ; <<>> DiG 8.2 <<>> sorbon version.bind chaos txt ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUERY SECTION: ;; version.bind, type = TXT, class = CHAOS ;; ANSWER SECTION: version.bind. 0S CHAOS TXT "bind 9" ;; Total query time: 3 msec ;; FROM: apollinaire.paris4.sorbonne.fr to SERVER: default ;; WHEN: Mon Sep 30 00:20: ;; MSG SIZE sent: 30 rcvd: 49 Formation permanente ARS Domain Name Server (DNS) Implémentation : BIND, named Exemple 2 : % dig dmi.ens.fr version.bind chaos txt ; <<>> DiG <<>> dmi.ens.fr version.bind chaos txt ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 4 ;; QUESTION SECTION: ;dmi.ens.fr. IN A ;; ANSWER SECTION: dmi.ens.fr IN A ;; AUTHORITY SECTION: ens.fr IN NS oseille.ens.fr. ens.fr IN NS dmi.ens.fr. ens.fr IN NS ext.lri.fr. ens.fr IN NS ns2.nic.fr. ens.fr IN NS clipper.ens.fr. Formation permanente ARS
124 Domain Name Server (DNS) Implémentation : BIND, named ;; ADDITIONAL SECTION: ext.lri.fr IN A ns2.nic.fr IN A clipper.ens.fr IN A oseille.ens.fr IN A ;; Query time: 831 msec ;; SERVER: #53( ) ;; WHEN: Mon Sep 30 00:19: ;; MSG SIZE rcvd: 210 ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;version.bind. CH TXT ;; ANSWER SECTION: version.bind. 0 CH TXT "9.2.1" ;; Query time: 42 msec ;; SERVER: #53( ) ;; WHEN: Mon Sep 30 00:19: ;; MSG SIZE rcvd: 48 Formation permanente ARS Domain Name Server (DNS) F.root-servers.net 42.5 F.root-servers.net (cf The Internet Software Consortium is proud to operate one of 13 root DNS servers as a public service to the Internet. The ISC has operated F.root-servers.net for the IANA ( since F ( answers more than 272 million DNS queries per day, making it one of the busiest DNS servers in the world. In fact, it is often the busiest root nameserver on the Internet. F is a virtual server made up of multiple (currently two) HP AlphaServers, donated to us by HP s Western Research Laboratory ( Each server is a HP ES40 AlphaServer with 4 500mhz CPUs and 8Gig of RAM, and runs ISC BIND as its DNS server. Formation permanente ARS
125 Domain Name Server (DNS) F.root-servers.net The servers are hosted at PAIX.net, Inc. ( in Palo Alto, California and are connected to the Internet via fdx Fast Ethernet connections which are provided by UUNET ( Teleglobe ( and MFN ( For more information on the root DNS system, see : BCP 40 (RFC2870) - Operational guidelines for Root Name Servers ( Formation permanente ARS Domain Name Server (DNS) Utilitaire rndc 42.6 Utilitaire rndc Syntaxe : rndc [options] cmd Il contrôle le fonctionnement de named à distance via TCP (rndc.conf contient des clefs d accès). Quelques options : commande status : status de NAMED commande dumpdb : dumpe la base et le cache dans /var/tmp/named_dump.db commande reload : recharge les zones primaires et secondaires commande stats : dumpe les statistiques dans /var/tmp/named.stats commande trace/notrace : gestion du niveau de trace dans /var/tmp/named.run commande start : démarre NAMED commande stop : arrête NAMED en sauvant les mises à jour en cours commande halt : arrête NAMED froidement commande restart : arrête et redémarre NAMED Formation permanente ARS
126 Domain Name Server (DNS) Fichier /etc/resolv.conf 42.7 Fichier /etc/resolv.conf Consultation des nameservers indiqués via le fichier /etc/resolv.conf Exemple de fichier /etc/resolv.conf : domain formation.jussieu.fr search formation.jussieu.fr jussieu.fr nameserver nameserver Attention : Au plus 3 lignes nameserver. Tous les Unix ne comprennent pas la directive search. Formation permanente ARS Domain Name Server (DNS) Utilitaire nslookup 42.8 Utilitaire nslookup Syntaxe : nslookup [options] à-résoudre % /usr/sbin/nslookup Server: sunars1.formation.jussieu.fr Address: Non-authoritative answer: Name: Address: La machine est dans le cache du DNS parce qu elle a déjà été résolue dans un passé récent. Cet utilitaire tombe en désuétude. Formation permanente ARS
127 Domain Name Server (DNS) Utilitaire dig 42.9 Utilitaire dig C est le remplaçant de nslookup. Il est très low level. Syntaxe : dig [options] à-résoudre Quelques flags utilisés : flag QR : Query flag AA : Authoritative Answer flag TC : TCP flag RD : Recursion Desired flag RA : Recursion Available flag AD : Authentic Data (DNSSEC) flag CD : Checking Disabled (DNSSEC) ID QR Opcode AA TC RD RA Z AD CD RCODE QDCOUNT ANCOUNT NSCOUNT ARCOUNT Formation permanente ARS Domain Name Server (DNS) Utilitaire dig Exemple 1 : récursivité jusqu à la racine % dig +trace ; <<>> DiG <<>> +trace ;; global options: printcmd IN NS K.ROOT-SERVERS.NET IN NS L.ROOT-SERVERS.NET IN NS M.ROOT-SERVERS.NET IN NS A.ROOT-SERVERS.NET IN NS B.ROOT-SERVERS.NET IN NS C.ROOT-SERVERS.NET IN NS D.ROOT-SERVERS.NET IN NS E.ROOT-SERVERS.NET IN NS F.ROOT-SERVERS.NET IN NS G.ROOT-SERVERS.NET IN NS H.ROOT-SERVERS.NET IN NS I.ROOT-SERVERS.NET IN NS J.ROOT-SERVERS.NET. ;; Received 244 bytes from #53( ) in 5 ms fr IN NS DNS.CS.WISC.EDU. fr IN NS NS1.NIC.fr. fr IN NS NS3.NIC.fr. fr IN NS DNS.INRIA.fr. Formation permanente ARS
128 Domain Name Server (DNS) Utilitaire dig fr IN NS NS2.NIC.fr. fr IN NS DNS.PRINCETON.EDU. fr IN NS NS-EXT.VIX.COM. fr IN NS NS3.DOMAIN-REGISTRY.NL. ;; Received 373 bytes from #53(K.ROOT-SERVERS.NET) in 273 ms jussieu.fr IN NS shiva.jussieu.fr. jussieu.fr IN NS cendrillon.lptl.jussieu.fr. jussieu.fr IN NS soleil.uvsq.fr. ;; Received 166 bytes from #53(DNS.CS.WISC.EDU) in 337 ms IN CNAME serveur.formation.jussieu.fr. serveur.formation.jussieu.fr IN A formation.jussieu.fr IN NS cendrillon.lptl.jussieu.fr. formation.jussieu.fr IN NS shiva.jussieu.fr. formation.jussieu.fr IN NS soleil.uvsq.fr. ;; Received 204 bytes from #53(shiva.jussieu.fr) in 217 ms On voit bien le mécanisme de consultations des différents nameservers. Formation permanente ARS Domain Name Server (DNS) Utilitaire dig Exemple 2 : consultation à la nslookup % dig ; <<>> DiG <<>> ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 3 ;; QUESTION SECTION: ; IN A ;; ANSWER SECTION: IN CNAME serveur.formation.jussieu.fr. serveur.formation.jussieu.fr IN A ;; AUTHORITY SECTION: formation.jussieu.fr IN NS cendrillon.lptl.jussieu.fr. formation.jussieu.fr IN NS shiva.jussieu.fr. formation.jussieu.fr IN NS soleil.uvsq.fr. Formation permanente ARS
129 Domain Name Server (DNS) Utilitaire dig ;; ADDITIONAL SECTION: shiva.jussieu.fr IN A soleil.uvsq.fr IN A cendrillon.lptl.jussieu.fr IN A ;; Query time: 5 msec ;; SERVER: #53( ) ;; WHEN: Thu Aug 29 00:22: ;; MSG SIZE rcvd: 204 Formation permanente ARS Domain Name Server (DNS) Utilitaire dig Exemple 3 : réponse en cas d erreur % dig cerise ; <<>> DiG <<>> cerise ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;cerise. IN A ;; AUTHORITY SECTION: IN SOA A.ROOT-SERVERS.NET. NSTLD.VERISIGN-GRS.COM ;; Query time: 206 msec ;; SERVER: #53( ) ;; WHEN: Thu Aug 29 00:22: ;; MSG SIZE rcvd: 98 Formation permanente ARS
130 Domain Name Server (DNS) Utilitaire dig Exemple 4 : précision du type du record Première fois : % dig SOA ; <<>> DiG 8.2 <<>> SOA ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUERY SECTION: ;; type = SOA, class = IN ;; AUTHORITY SECTION: crlv.org. 2H IN SOA ns.easynet.fr. hostmaster.easynet.fr. ( ; serial 1H ; refresh 30M ; retry 4W ; expiry 2H ) ; minimum ;; Total query time: 14 msec ;; FROM: apollinaire.paris4.sorbonne.fr to SERVER: default ;; WHEN: Thu Aug 29 15:06: ;; MSG SIZE sent: 30 rcvd: 90 Formation permanente ARS Domain Name Server (DNS) Utilitaire dig Deuxième fois : % dig SOA ; <<>> DiG 8.2 <<>> SOA ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUERY SECTION: ;; type = SOA, class = IN ;; AUTHORITY SECTION: crlv.org. 1h55m43s IN SOA ns.easynet.fr. hostmaster.easynet.fr. ( ; serial 1H ; refresh 30M ; retry 4W ; expiry 2H ) ; minimum ;; Total query time: 13 msec ;; FROM: apollinaire.paris4.sorbonne.fr to SERVER: default ;; WHEN: Thu Aug 29 15:10: ;; MSG SIZE sent: 30 rcvd: 98 Formation permanente ARS
131 Domain Name Server (DNS) Record de type PTR Record de type PTR On peut aussi interroger un nameserver pour résoudre des adresses : % /usr/sbin/nslookup Server: sunars1.formation.jussieu.fr Address: Name: Address: A rapprocher de : % /usr/sbin/nslookup -query=ptr in-addr.arpa Server: sunars1.formation.jussieu.fr Address: Non-authoritative answer: in-addr.arpa name = Authoritative answers can be found from: in-addr.arpa nameserver = ns1.fth.net in-addr.arpa nameserver = ns2.fth.net ns1.fth.net internet address = ns2.fth.net internet address = Formation permanente ARS Domain Name Server (DNS) Record de type PTR. fr arpa jussieu in addr formation 134 sunars Assurer la coherence 1 sunars1.formation.jussieu.fr Une faute courante : oublier de mettre à jour l entrée relative à l adresse IP de la machine. Formation permanente ARS
132 Domain Name Server (DNS) Fichier /etc/nsswitch.conf Fichier /etc/nsswitch.conf Certains systèmes Unix permettent de spécifier quelles méthodes de résolution utiliser (DNS, /etc/hosts, NIS) ainsi que l ordre d enchaînement des méthodes. Sur Linux et Solaris, cf /etc/nsswitch.conf :... hosts:... files nisplus nis dns ou... hosts:... xfn nisplus dns [NOTFOUND=return] files Formation permanente ARS Domain Name Server (DNS) Délégation d une partie de classe C Délégation d une partie de classe C RFC Avis : Mécanisme astucieux mais un peu compliqué à mettre en œuvre en pratique. Formation permanente ARS
133 Domain Name Server (DNS) Délégation d une partie de classe C WebDNS Logiciel WebDNS : Principe : générer les données via une vraie base de données avec toutes les possibilités fines associées (par exemple une personne peut avoir le droit SQL de modifier un et un seul record DNS dans la base SQL) Logiciel non réservé aux sous classes C. En utilisation sur le campus de Jussieu par exemple. Avis : Approche très tendance pour résoudre un problème de fond dans le principe du DNS lors de vrais déployements. Avis 2 : Nouvel exemple de couplage à une base de données. Formation permanente ARS Domain Name Server (DNS) Délégation d une partie de classe C Serveur Web (client PostgreSQL) HTTP/HTTPS Internet PostgreSQL DNS PostgreSQL named.boot Base de données Serveur de données (PostgreSQL) Serveur DNS (client PostgreSQL) fichiers de zones Formation permanente ARS
134 Domain Name Server (DNS) Nom de machine, hostname Nom de machine, hostname Caractères autorisés : cf RFC 952 et RFC 1123 En résumé : lettres majuscules lettres minuscules chiffres caractère «-» Formation permanente ARS Domain Name Server (DNS) WHOIS WHOIS WHOIS base de données des informations relatives à l attribution des plages d adresses IP et des noms de domaines. Exemple d un protocole Internet loupé car les implémentations ne sont pas compatibles entre elles. RFC 954, port TCP 43 Protocole exploitable par la commande whois. Syntaxe : whois [ -h server-whois ] adresse-ou-domaine Quelques serveurs WHOIS (cf annexe pour une liste plus longue) : rs.internic.net whois.nic.fr ou via un interface WWW : whois.ripe.net Exemple : cf annexe Formation permanente ARS
135 Domain Name Server (DNS) Espace de confiance Espace de confiance Formation permanente ARS Domain Name Server (DNS) Un peu de documentation Un peu de documentation cours réseau ARS Cfhttp:// et ftp://ftp.isc.org/isc/bind/ Cfhttp:// Cfhttp:// Cfftp://ftp.univ-rennes1.fr/pub/reseau/dns/exemple/ RFC 2317 «Classless IN-ADDR.ARPA delegation» ftp://ftp.jussieu.fr/jussieu/doc/local/dnsmail.ps.z DNS and BIND, 4th Edition, By Paul Albitz & Cricket Liu, 4th Edition April 2001, O Reilly & Associates, Inc. 622 pages, $44.95 Formation permanente ARS
136 Partage de fichiers NFS Chapitre 43 : Partage de fichiers NFS NFS Network File System c est l accès de façon transparente pour l utilisateur à des fichiers résidants sur des machines distantes. Actuellement, NFS version 2 la plus répandue. NFS version 3 existe et est disponible mais il existe des incompatibilités d implémentations entre constructeurs. NFS version 4 est en étude. Cf ou Formation permanente ARS Partage de fichiers NFS Principe de NFS 43.1 Principe de NFS (CLIENT) System Calls (SERVER) System Calls VNODE / VFS VNODE / VFS Client Routines NFS File system Server Routines NFS File system RPC / XDR RPC / XDR RPC / XDR RPC / XDR Ethernet Network Formation permanente ARS
137 Partage de fichiers NFS Lancement de NFS 43.2 Lancement de NFS On a deux aspects dans NFS : client NFS et serveur NFS. Client NFS Un client ne fait tourner que des démons biod (nfsiod si l Unix est de la famille System V), rpc.lockd et rpc.statd. Serveur NFS Un serveur NFS fait tourner les démons portmap (ou rpcbind si l Unix est de la famille System V), mountd (ou rpc.mountd), nfsd, rpc.statd et rpc.lockd. Formation permanente ARS Partage de fichiers NFS Lancement de NFS DIGITAL UNIX On règle l aspect NFS par la commande nfssetup qui modifie alors le fichier /etc/rc.config :... NFS_CONFIGURED="1" export NFS_CONFIGURED NFSSERVING="1" export NFSSERVING NONROOTMOUNTS="1" export NONROOTMOUNTS NUM_TCPD="8" export NUM_TCPD NUM_UDPD="8" export NUM_UDPD NUM_NFSIOD="7" export NUM_NFSIOD NFSLOCKING="1" export NFSLOCKING... Formation permanente ARS
138 Partage de fichiers NFS Lancement de NFS Linux Au niveau de /etc/sysconfig/network, on indique via la variable NETWORKING si l on veut les services réseau (dont NFS). Le script de démarrage /etc/rc.d/rc3.d/s15nfsfs suivant la valeur de NETWORKING lance ou pas un client NFS. Le script de démarrage /etc/rc.d/rc3.d/s60nfs suivant la valeur de NETWORKING et suivant l existence de /etc/exports lance ou pas un serveur NFS. Solaris La lecture de /etc/init.d/nfs.client renseigne sur la façon de démarrer un client NFS. La lecture de /etc/init.d/nfs.server apprend que la machine démarre un serveur NFS s il existe le fichier d exportation /etc/dfs/dfstab. Formation permanente ARS Partage de fichiers NFS Exportation NFS, /etc/exports, /etc/dfs/dfstab 43.3 Exportation NFS, /etc/exports, /etc/dfs/dfstab Le partage de disques repose sur l exportation par une machine d arborescences. L exportation peut être en read-only ou en read-write. L exportation se fait au niveau du fichier /etc/exports en général. Suivant l Unix, la syntaxe n est pas la même : DIGITAL UNIX : fichier /etc/exports : /var/spool/mail -access=client-nfs.example.com Linux : fichier /etc/exports : /home client-nfs.example.com(rw) /zip client-nfs.example.com(rw) Solaris : fichier /etc/dfs/dfstab : # pathname resource fstype specific_options description /export/home - nfs rw=.example.com Formation permanente ARS
139 Partage de fichiers NFS Exportation NFS, /etc/exports, /etc/dfs/dfstab Comment faire prendre connaissance de modifications dans le fichier /etc/exports (ou équivalent)? Méthode 1 : on ne fait rien ; le fichier /etc/exports est consulté lors de toute demande de montage de disque. Par exemple DIGITAL UNIX. Méthode 2 : on envoie un signal au programme mountd gérant les montages : # kill -HUP cat /var/run/mountd.pid Par exemple Linux, FreeBSD. Méthode 3 : une commande spécialisée existe : share, shareall (unshare, unshareall) sur Solaris # unshareall # showmount -e no exported file systems for serveur-nfs.example.com # shareall # showmount -e export list for serveur-nfs.example.com: /infosystems client-nfs.example.com Formation permanente ARS Partage de fichiers NFS Exportation root NFS 43.4 Exportation root NFS Le problème principal est celui de l équivalence root par NFS : quels droits possède le root d une machine cliente NFS sur les fichiers exportés par un serveur NFS? Un fichier de droits rw sur le serveur NFS (où le root peut le lire) peut-il être lu par root sur un client NFS? La réponse est fonction du contexte mais cela se paramètre au niveau de /etc/exports. Une requête émanant de root sera sauf précision contraire convertie au nom de l utilisateur nobody : % grep nobody /etc/passwd nobody:*:65534:65534:unprivileged user:/nonexistent:/sbin/nologin Formation permanente ARS
140 Partage de fichiers NFS Exportation root NFS Exemple de la conversion de l UID lors de la requête (la partition montée est exportée sans droits root NFS) : # mount -t nfs serveur-nfs.example.com:/adm/backup/arch /mnt # id uid=0(root) gid=0(wheel) groups=0(wheel),1(daemon),2(kmem) # cd /mnt # df. Filesystem 1024-blocks Used Available Capacity Mounted on serveur-nfs.example.com:/adm/backup/arch % /mnt # touch test # ls -l total 0 -rw root daemon 75 Feb 3 15:01 motd -rw-r--r-- 1 nobody nogroup 0 Feb 3 14:59 test # cat motd cat: motd: Permission denied Formation permanente ARS Partage de fichiers NFS Exportation root NFS Exportation avec root NFS Mêmes fichiers que précédemment : exemple sur DIGITAL UNIX : /var/spool/mail -root=client-nfs.example.com,access=client-nfs.example.com exemple sur Linux : /var/spool/mail client-nfs.example.com(rw,no_root_squash) exemple sur Solaris : /export/home - nfs rw=.example.com,root=client-nfs.example.com Formation permanente ARS
141 Partage de fichiers NFS Exportation root NFS Exportation sans root NFS Mêmes fichiers que précédemment : exemple sur DIGITAL UNIX : /var/spool/mail -access=client-nfs.example.com exemple sur Solaris :... /opt - nfs rw=client-nfs.example.com /usr/local - nfs rw=.example.com /var/mail - nfs rw=.example.com Formation permanente ARS Partage de fichiers NFS Règle de non transitivité NFS 43.5 Règle de non transitivité NFS Il n y a pas de transitivité NFS : Si A exporte "/partition" àb; Si B monte "/partition en "/partition2" et exporte "/partition2" àc; alors C n a pas accès au contenu du "/partition" initial! Sinon il n y aurait aucune sécurité, aucun contrôle possible d exportation. Formation permanente ARS
142 Partage de fichiers NFS Montage NFS manuel 43.6 Montage NFS manuel Syntaxe usuelle : mount -t nfs serveur:/arborescence /point/montage # mount -t nfs serveur-nfs.example.com:/export/home /mnt # df /mnt Filesystem 1k-blocks Used Available Use% Mounted on serveur-nfs.example.com:/export/home % /mnt # umount /mnt Formation permanente ARS Partage de fichiers NFS Montage NFS automatique 43.7 Montage NFS automatique Les montages automatiques se règlent au niveau de /etc/fstab (ou équivalent) :... serveur-nfs.example.com:/export/home /users nfs hard,intr... La syntaxe est celle montrée ci dessus sur tous les systèmes Unix utilisant un fichier /etc/fstab. Une fois le fichier /etc/fstab configuré, on peut faire les choses suivantes : 1. Monter une partition distante bien précise : # mount /users 2. Monter toutes les partitions distantes : # mount -t nfs -v -a Formation permanente ARS
143 Partage de fichiers NFS Option de montage NFS soft 43.8 Option de montage NFS soft Si pour une raison ou pour une autre, les opérations RPC implantant la requête NFS viennent à échouer, cette requête NFS échoue elle aussi. On peut apparenter cette situation à celle d un disque local tombant en panne. Une manifestation de ce problème est qu il peut apparaître des blocs remplis de caractères NULL dans des fichiers nouvellement écrits à travers NFS sur une partition qui aura montré des problèmes. Formation permanente ARS Partage de fichiers NFS Option de montage NFS hard 43.9 Option de montage NFS hard Si pour une raison ou pour une autre, les opérations RPC implantant la requête NFS viennent à échouer, cette requête NFS est soumise à nouveau et cela jusqu à ce qu elle aboutisse. On peut apparenter cette situation à celle d un disque local très lent. Pour éviter que dans le cas hard, la requête NFS ne soit transmise ad vitam eternam, on peut faire le montage en mode hard,intr ce qui autorise son interruption au clavier ou via des envois de signaux. En pratique, on utilisera toujours les montages hard,intr pour les montages des partitions auxquelles on accède en lecture/écriture. Formation permanente ARS
144 Partage de fichiers NFS Vérification des exportations : showmount Vérification des exportations : showmount En cas de problème dans le montage NFS d une partition on peut vérifier d abord si l exportation indispensable est déjà assurée. La commande à utiliser est showmount -e : % /usr/sbin/showmount -e serveur-nfs.example.com Export list for serveur-nfs.example.com: /export/home.example.com /opt client-nfs.example.com /usr/local.example.com /var/mail.example.com Formation permanente ARS Partage de fichiers NFS Vérification des exportations : rpcinfo Vérification des exportations : rpcinfo On peut aussi vérifier à distance si le serveur NFS fait tourner le démon mountd via la commande rpcinfo. % /usr/sbin/rpcinfo -p serveur-nfs.example.com grep mount udp mountd udp mountd udp mountd tcp mountd tcp mountd tcp mountd Formation permanente ARS
145 Partage de fichiers NFS Messages d erreur NFS Messages d erreur NFS Un message d erreur classique prend la forme : NFS write error: on host serveur-nfs.example.com remote file system full Parfois c est hermétique comme message : NFS write error 60 on host nfs-client.example.com fh a0000 cdbe 66b10eac a0000 1d00 5fdbece5 Pour le décoder, se reporter à <sys/errno.h>. Ici on déduit : #define ETIMEDOUT 60 /* Connection timed out */ Formation permanente ARS Partage de fichiers NFS Automounter Automounter Les montages rencontrés jusqu à présent sont permanents. Un automounter rend les montages temporaires : un montage ne dure guère que le temps nécessaire ; quand il est nécessaire, on monte la partition distante que l on démonte quand on n en a plus besoin. Il existe 3 automounters : "automount" fourni par les constructeurs (et d origine SUN) "amd" ; version logiciel libre dont le développement stagne ftp://ftp.cs.columbia.edu/pub/amd "am-utils", bâti sur la base de amd Formation permanente ARS
146 Partage de fichiers NFS Schéma récapitulatif Schéma récapitulatif Client NFS Serveur NFS # mount t nfs serveur:/partition /mnt # df Filesystem 1024 blocks Used Available Capacity Mounted on serveur:/partition % /mnt # cat /etc/exports /partition access=client # exportfs av /mnt /partition RESEAU read() / write() INTERNET % showmount e serveur /partition client Formation permanente ARS
147 Synchronisation manuelle de fichiers Chapitre 44 : Synchronisation manuelle de fichiers Contexte : 2 ou plusieurs machines qui ne peuvent pas partager de fichiers par NFS. Exemples : un ordinateur portable et une machine de bureau 2 ordinateurs reliés par une liaison intermittente comme une liaison téllephonique PPP etc. La synchronisation manuelle est pénible à faire. Plusieurs logiciels automatisent la synchronisation. Reste à les lancer au bon moment (cf crontab) et à paramétrer ce que l on doit synchroniser. Formation permanente ARS Synchronisation manuelle de fichiers Synchronisation de fichiers via rdist 44.1 Synchronisation de fichiers via rdist RDIST est un programme de distribution de fichiers sur des machines distantes, sur la base des dates de modification des fichiers source ou des fichiers distants. De plus en plus livrée en standard avec les différents Unix mais lui préférer quand même la version disponible à l URL (anciennement : ftp://ftp.usc.edu/pub/rdist/) Actuellement version La commande rdist utilise un fichier de configuration appelé par défaut distfile ou Distfile De nombreuses options sont disponibles. Cf la documentation. Formation permanente ARS
148 Synchronisation manuelle de fichiers Synchronisation de fichiers via rdist Exemple 1 Mise à jour du fichier /tmp/fichier.txt d une machine distante nommée remote.example.com à partir du fichier local /tmp/fichier.txt : /tmp/fichier.txt -> remote.example.com install ; Si le fichier ci-dessus s appelle mon-distfile-a-moi, on lancer la commande de la façon suivante : rdist -f mon-distfile-a-moi ce qui donnera % rdist -f mon-distfile-a-moi remote.example.com: updating host remote.example.com remote.example.com: /tmp/fichier.txt: installing remote.example.com: localhost: /tmp/fichier.txt: unknown group "adm" remote.example.com: updating of remote.example.com finished La mise à jour ci dessus est inconditionnelle. Elle ne fait pas de comparaison de date. Pour activer la vérification des dates de modification, il faut utiliser l option -y. % rdist -f mon-distfile-a-moi -y remote.example.com: updating host remote.example.com remote.example.com: updating of remote.example.com finished Formation permanente ARS Synchronisation manuelle de fichiers Synchronisation de fichiers via rdist Exemple 2 Mise à jour des fichiers /var/tmp/fichier.txt et /var/tmp/fichier2.txt des machines distantes nommées remote.example.com, remote2.example.com et remote3.example.com à partir des fichiers locaux originaux /tmp/fichier.txt et /tmp/fichier2.txt. Appelons mon-distfile-a-moi-2 le fichier : FILES = ( /tmp/fichier.txt /tmp/fichier2.txt ) HOSTS = ( remote.example.com remote2.example.com remote3.example.com ) ${FILES} -> ${HOSTS} install /var/tmp ; notify besancon ; On constate : on utilise des macros RDIST on met à jour des fichiers distants de paths différents des originaux on envoie un mail une fois la mise à jour faite Formation permanente ARS
149 Synchronisation manuelle de fichiers Synchronisation de fichiers via rdist Possibilité de ne mettre à jour qu une machine du lot via l option «-m»: % rdist -f mon-distfile-a-moi-2 -m remote.example.com remote.example.com: updating host remote.example.com remote.example.com: /tmp/fichier.txt: installing remote.example.com: localhost: /var/tmp/fichier.txt: unknown group "adm" remote.example.com: /tmp/fichier2.txt: installing remote.example.com: localhost: /var/tmp/fichier2.txt: unknown group "adm" remote.example.com: ( besancon ) remote.example.com: updating of remote.example.com finished Une seconde mise à jour donne : % rdist -f mon-distfile-a-moi-2 -y remote.example.com: updating host remote.example.com remote.example.com: /tmp/fichier.txt: updating remote.example.com: localhost: /var/tmp/fichier.txt: unknown group "adm" remote.example.com: ( besancon ) remote.example.com: updating of remote.example.com finished Notez le mot updating au lieu de installing. Formation permanente ARS Synchronisation manuelle de fichiers Synchronisation de fichiers via rdist exemple 3 Appelons mon-distfile-a-moi-3 le fichier : /tmp/fichier.txt -> remote.example.com install ; special "uname -a" ; Son exécution donne : % rdist -f mon-distfile-a-moi-3 remote.example.com: updating host remote.example.com remote.example.com: /tmp/fichier.txt: installing remote.example.com: localhost: /tmp/fichier.txt: unknown group "adm" remote.example.com: special "uname -a" remote.example.com: FreeBSD remote.example.com RC2 remote.example.com: updating of remote.example.com finished On constate qu une fois la mise à jour des fichiers réalisée, la commande spécifiée par special est exécutée sur la machine distante. Formation permanente ARS
150 Synchronisation manuelle de fichiers Synchronisation de fichiers via rdist exemple 4 L option -n essaye à blanc le scenario de mise à jour mais ne réalise pas la mise à jour en pratique. Avec le distfile de l exemple 1, on voit ainsi : % rdist -f mon-distfile-a-moi -n updating host remote.example.com install -onochkgroup,nochkowner,younger /tmp/fichier.txt /tmp/fichier.txt Formation permanente ARS Synchronisation manuelle de fichiers Synchronisation de fichiers via rdist Exemple 5 On peut utiliser SSH comme protocole de transport avec la machine distante au lieu de RSH. Avec le distfile de l exemple 1, on voit ainsi : % rdist -f mon-distfile-a-moi -P /usr/local/bin/ssh remote.example.com: updating host remote.example.com Enter passphrase for key /users/sri/besancon/.ssh/id_dsa : XXXXXXXXXX remote.example.com: /tmp/fichier.txt: installing remote.example.com: localhost: /tmp/fichier.txt: unknown group "adm" remote.example.com: updating of remote.example.com finished Formation permanente ARS
151 Synchronisation manuelle de fichiers Synchronisation de fichiers via rsync 44.2 Synchronisation de fichiers via rsync (en anglais Remote Synchronisation) RSYNC est un protocole plus efficace que RDIST. Par exemple, on ne transfère que les différences entre fichiers et non pas la totalité du fichier. Pas encore installé en standard. Se reporter à Actuellement version (vérifier la disponibilité de versions plus récentes) On utilise la commande de ces diverses façons : rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST rsync [OPTION]... [USER@]HOST:SRC DEST rsync [OPTION]... SRC [SRC]... DEST rsync [OPTION]... [USER@]HOST::SRC [DEST] rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST rsync [OPTION]... rsync://[user@]host[:port]/src [DEST] Il y a un mode de fonctionnement où un démon rsyncd est installé et répond à des requêtes authentifiées ou non. Formation permanente ARS Synchronisation manuelle de fichiers Synchronisation de fichiers via rsync Exemple Soit l arborescence /tmp/exemple à synchroniser : % ls -lr /tmp/exemple /tmp/exemple/: total 64 -rwxr-xr-x 1 besancon adm 211 Aug 26 17:53 fichier1* -rwxr-xr-x 1 besancon adm 211 Aug 26 17:53 fichier2* -rwxr-xr-x 1 besancon adm 211 Aug 26 17:53 fichier3* drwxr-xr-x 2 besancon adm 182 Aug 26 17:54 repertoire1/ /tmp/exemple/repertoire1: total 16 -rwxr-xr-x 1 besancon adm 211 Aug 26 17:53 fichier4* Formation permanente ARS
152 Synchronisation manuelle de fichiers Synchronisation de fichiers via rsync La synchronisation avec une autre machine appelée remote.example.com par la commande suivante : % rsync \ --stats \ --rsh=/usr/local/bin/ssh \ --rsync-path=/usr/local/bin/rsync \ --archive \ --compress \ --verbose \ --cvs-exclude \ \ /tmp/exemple \ [email protected]:/tmp donne : building file list... done exemple/ exemple/fichier1 exemple/fichier2 exemple/fichier3 exemple/repertoire1/ exemple/repertoire1/fichier4 Formation permanente ARS Synchronisation manuelle de fichiers Synchronisation de fichiers via rsync Number of files: 6 Number of files transferred: 4 Total file size: 844 bytes Total transferred file size: 844 bytes Literal data: 844 bytes Matched data: 0 bytes File list size: 161 Total bytes written: 825 Total bytes read: 84 wrote 825 bytes read 84 bytes bytes/sec total size is 844 speedup is 0.93 Formation permanente ARS
153 Gestionnaire de services réseau : inetd Chapitre 45 : Gestionnaire de services réseau : inetd Une machine Unix offre de nombreux services accessibles par le réseau. Souvent les services réseau contactés durent peu de temps. µ inutile de les faire tourner en permanence (consommation de ressources) µ on va les activer uniquement suite à une requête C est inetd qui écoute les requêtes pour certains services réseau et lancent ces services. Plus particulièrement, inetd assure : l attente de connexions réseau sur certains ports le lancement des services contactés le comportement adapté au lancement de ces services Formation permanente ARS Gestionnaire de services réseau : inetd Principe 45.1 Principe Etape 1 host1.example.com host2.example.com client inetd réseau Formation permanente ARS
154 Gestionnaire de services réseau : inetd Principe Etape 2 host1.example.com host2.example.com client inetd fork() serveur réseau Formation permanente ARS Gestionnaire de services réseau : inetd Principe Etape 3 host1.example.com host2.example.com client inetd serveur réseau Formation permanente ARS
155 Gestionnaire de services réseau : inetd /etc/services 45.2 /etc/services Pas spécifiquement lié à inetd. Il mentionne les triplets (numéro de port, protocole, nom du service). Il sert à convertir un port numérique en un nom symbolique plus parlant. En aucune façon il n indique les ports utilisés sur la machine. On peut obtenir un triplet officiellement pour un programme à soi auprès de l IANA En pratique il ya3catégories de triplets : Les Well Known Ports sont ceux de 0 à 1023 Les Registered Ports sont ceux de 1024 à Les Dynamic and/or Private Ports sont ceux de à Formation permanente ARS Gestionnaire de services réseau : inetd /etc/services Par exemple :... chargen 19/tcp ttytst source #Character Generator chargen 19/udp ttytst source #Character Generator ftp-data 20/tcp #File Transfer [Default Data] ftp-data 20/udp #File Transfer [Default Data] ftp 21/tcp #File Transfer [Control] ftp 21/udp #File Transfer [Control] ssh 22/tcp #Secure Shell Login ssh 22/udp #Secure Shell Login telnet 23/tcp telnet 23/udp # 24/tcp any private mail system # 24/udp any private mail system smtp 25/tcp mail #Simple Mail Transfer smtp 25/udp mail #Simple Mail Transfer... Formation permanente ARS
156 Gestionnaire de services réseau : inetd netstat -a, netstat -an 45.3 netstat -a, netstat -an Pas spécifiquement lié à inetd. La commande netstat -a affiche la liste des ports ouverts sur la machine. Les noms affichés proviennent de /etc/services : % netstat -a Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 0 *.ssh *.* LISTEN tcp *.ssh *.* LISTEN udp4 0 0 *.syslog *.* udp6 0 0 *.syslog *.* udp4 0 0 *.bootpc *.* Active UNIX domain sockets... Formation permanente ARS Gestionnaire de services réseau : inetd netstat -a, netstat -an La commande netstat -an affiche les ports sous forme numérique : % netstat -an Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 0 *.22 *.* LISTEN tcp *.22 *.* LISTEN udp4 0 0 *.514 *.* udp6 0 0 *.514 *.* udp4 0 0 *.68 *.* Active UNIX domain sockets... Formation permanente ARS
157 Gestionnaire de services réseau : inetd /etc/inetd.conf 45.4 /etc/inetd.conf Spécifique à inetd. Son format est le suivant : # Syntax for socket-based Internet services: # service_name socket_type proto flags user server_pathname args Par exemple :... ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd... Formation permanente ARS Gestionnaire de services réseau : inetd /etc/inetd.conf La signification des champs est la suivante : champ 1 : service_name C est le nom symbolique d un service (cf /etc/services). champ 2 : socket_type C est le type du socket réseau. C est essentiellement stream, dgram. champ 3 : proto C est le protocole réseau utilisé : tcp, udp champ 4 : flags Cela indique si l on peut répondre à une requête du même type alors que la première n est pas terminée. On peut avoir : wait, nowait champ 5 : user Nom de l utilisateur sous lequel le programme tournera. champ 6 : server_pathname C est le chemin absolu du programme à exécuter. champ 7 : args Ce sont les paramètres à donner lors du execv(). Formation permanente ARS
158 Gestionnaire de services réseau : inetd /etc/inetd.conf Par exemple : ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -l donnera execv("/usr/sbin/in.ftpd", "in.ftpd", "-l", 0); Formation permanente ARS Gestionnaire de services réseau : inetd Reconfiguration de inetd, SIGHUP 45.5 Reconfiguration de inetd, SIGHUP Inetd est lancé par les scripts de démarrage. Si l on modifie le fichier /etc/inetd.conf, la modification est prise en compte en envoyant le signal SIGHUP au processus inetd : # ps -ax grep inetd 173? IW 2 0:00 inetd p2 S 2 0:00 grep inetd # kill -HUP 173 Formation permanente ARS
159 Gestionnaire de services réseau : inetd Filedescriptors et serveurs lancés par inetd 45.6 Filedescriptors et serveurs lancés par inetd Un démon lancé par inetd est quelque chose de simple au niveau des filedescriptors : il récupère les données envoyées par le client en lisant sur stdin il envoie des données au client en écrivant sur stdout Exemple de client écrit en sh : #!/bin/sh read line echo $line > /tmp/data read line echo $line >> /tmp/data wc -l /tmp/data id exit 0 Formation permanente ARS Gestionnaire de services réseau : inetd Filedescriptors et serveurs lancés par inetd Au niveau de /etc/services, on met : demo 33333/tcp Au niveau de /etc/inetd.conf, on met : demo stream tcp nowait root /tmp/serveur.sh serveur.sh Une session interactive donne : % telnet localhost demo Trying Connected to localhost. Escape character is ^]. ligne 1 ligne 2 2 /tmp/data uid=0(root) gid=0(wheel) groups=0(wheel), 2(kmem), 3(sys), 4(tty) Connection closed by foreign host. Formation permanente ARS
160 TCP Wrappers Chapitre 46 : TCP Wrappers Inetd fonctionne très bien en pratique. Il a un seul gros défaut : il ne gère aucun aspect de sécurité. On aimerait au moins : pouvoir filtrer l accès à certains services avoir des traces d activation de certains services Un remède : l emploi du logiciel TCP Wrappers. Formation permanente ARS TCP Wrappers Rappel sur inetd 46.1 Rappel sur inetd host1.example.com host2.example.com host1.example.com host2.example.com client inetd client inetd fork() serveur réseau réseau host1.example.com host2.example.com client inetd serveur réseau Formation permanente ARS
161 TCP Wrappers Principe des TCP Wrappers, tcpd 46.2 Principe des TCP Wrappers, tcpd L idée de TCP Wrappers : on va s intercaler dans la chaîne. host1.example.com host2.example.com client inetd réseau Formation permanente ARS TCP Wrappers Principe des TCP Wrappers, tcpd host1.example.com host2.example.com client inetd fork() tcpd réseau Formation permanente ARS
162 TCP Wrappers Principe des TCP Wrappers, tcpd host1.example.com host2.example.com client inetd tcpd réseau Formation permanente ARS TCP Wrappers Principe des TCP Wrappers, tcpd host1.example.com host2.example.com client fork() inetd tcpd serveur réseau Formation permanente ARS
163 TCP Wrappers Principe des TCP Wrappers, tcpd host1.example.com host2.example.com client inetd tcpd serveur réseau Formation permanente ARS TCP Wrappers Principe des TCP Wrappers, tcpd host1.example.com host2.example.com client inetd serveur réseau Formation permanente ARS
164 TCP Wrappers Modifications de /etc/inetd.conf 46.3 Modifications de /etc/inetd.conf S intercaler dans la chaîne de inetd, nécessite de modifier le fichier /etc/inetd.conf Par exemple on passe de : ftp stream tcp nowait root /usr/etc/in.ftpd in.ftpd -l telnet stream tcp nowait root /usr/etc/in.telnetd in.telnetd shell stream tcp nowait root /usr/etc/in.rshd in.rshd login stream tcp nowait root /usr/etc/in.rlogind in.rlogind à ftp stream tcp nowait root /chemin/vers/tcpd in.ftpd -l telnet stream tcp nowait root /chemin/vers/tcpd in.telnetd shell stream tcp nowait root /chemin/vers/tcpd in.rshd login stream tcp nowait root /chemin/vers/tcpd in.rlogind Formation permanente ARS TCP Wrappers Modifications de /etc/inetd.conf Rappel sur l interprétation d une ligne de inetd.conf : Par exemple : ftp stream tcp nowait root /chemin/vers/tcpd in.ftpd -l donnera execv("/chemin/vers/tcpd", "in.ftpd", "-l", 0); Formation permanente ARS
165 TCP Wrappers Contrôle d accès, /etc/hosts.allow, /etc/hosts.deny 46.4 Contrôle d accès, /etc/hosts.allow, /etc/hosts.deny Le principe du contrôle d accès : 1. On vérifie d abord si la requête est autorisée par le contenu de /etc/hosts.allow. Si oui, OK. Si non, on passe à l étape On vérifie si la requête est interdite par le contenu de /etc/hosts.deny. Si oui, la requête est rejetée. Si non, on passe à l étape On accepte la requête. Formation permanente ARS TCP Wrappers Contrôle d accès, /etc/hosts.allow, /etc/hosts.deny Au niveau des fichiers hosts.allow et hosts.deny, on peut appliquer des règles de filtrage par démon servi. Voici un exemple de politique de connexion : au niveau du fichier /etc/hosts.allow : in.telnetd:.fr, in.rlogind:.fr, in.rshd:.fr au niveau du fichier /etc/hosts.deny : in.telnetd: ALL in.rlogind: ALL in.rshd: ALL En français intelligible, ces fichiers indiquent que les connexions telnet, rlogin, rsh ne sont autorisées que depuis des machines du domaine français ".fr" et depuis un domaine de Tunisie (réseau d adresse ). Formation permanente ARS
166 TCP Wrappers Contrôle d accès, /etc/hosts.allow, /etc/hosts.deny ATTENTION : quand on interdit une machine, il faut l interdire via son nom FQDN et via son adresse IP (pour le cas où un nameserver serait injoignable on peut ainsi bloquer quand même la machine). Formation permanente ARS TCP Wrappers Contrôle d accès, /etc/hosts.allow, /etc/hosts.deny ATTENTION : Ce n est par parce que l on active tcpd que l on a résolu tous les problèmes de sécurité et que l on est tranquille : Il ne faut pas oublier que plein d autres services ne passent pas par l intermédiaire de inetd.conf Il faut surveiller les traces de fonctionnement renvoyées par tcpd. Il faut renseigner les fichiers hosts.allow et /etc/hosts.deny. Il faut des démons sans trou de sécurité. Formation permanente ARS
167 TCP Wrappers libwrap.a 46.5 libwrap.a Les TCP WRAPPERS offrent aussi leur librairie de programmation : libwrap.a et tcpd.h Généralement installée en /usr/local/lib/libwrap.a et /usr/local/include/tcpd.h La librairie apporte la fonction C host_access() On linkera avec cette librairie quand c est nécessaire. Formation permanente ARS
168 Gestionnaire de services réseau : xinetd Chapitre 47 : Gestionnaire de services réseau : xinetd (en anglais extended inetd) Cf Numérotation des versions un peu compliquée... C est une réécriture complète de inetd en incorporant plusieurs aspects manquants dans inetd : contrôle d accès à la tcpd accès horaires aux démons traces syslog des connexions (échouées, abouties) limitation du nombre d instances de chaque démon binding sur certaines adresses réseau Formation permanente ARS Gestionnaire de services réseau : xinetd Fichier de configuration /etc/xinetd.conf 47.1 Fichier de configuration /etc/xinetd.conf xinetd utilise le fichier /etc/xinetd.conf, incompatible avec /etc/inetd.conf. Format du fichier : defaults { attribut operateur valeur(s)... } service toto { attribut operateur valeur(s)... } Les opérateurs sont =, += et -=. Cf la documentation pour la liste complète des attributs. Formation permanente ARS
169 Gestionnaire de services réseau : xinetd Fichier de configuration /etc/xinetd.conf A noter avec certaines versions de xinetd la possibilité d avoir un répertoire /etc/xinetd.d dans lequel on trouve un fichier par service, portant le nom du service et contenant le réglage du service. Par exemple /etc/xinetd.d/ftpd Formation permanente ARS Gestionnaire de services réseau : xinetd Réglages par défaut 47.2 Réglages par défaut Par exemple : defaults { instances = 15 log_type = FILE /var/log/servicelog log_on_success = HOST PID USERID DURATION EXIT log_on_failure = HOST USERID RECDORD only_from = disabled = shell login exec comsat telnet ftp tftp finger disabled = time daytime chargen servers services xadmin } Ici la ligne «only_from =» interdit par défaut toutes les machines à se connecter aux services. On autorisera ce qui est nécessaire au niveau du bloc de configuration de chaque service. Formation permanente ARS
170 Gestionnaire de services réseau : xinetd Configuration d un service 47.3 Configuration d un service Exemple pour le service ftp (cf /etc/services) : service ftp { socket-type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l instances = 4 access_times = 7:00-12:30 13:30-21:00 nice = 10 only_from = /24 } Formation permanente ARS Gestionnaire de services réseau : xinetd /etc/xinetd.conf : directive nice 47.4 /etc/xinetd.conf : directive nice Par exemple : service ftp { socket-type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l instances = 4 access_times = 7:00-12:30 13:30-21:00 nice = 10 only_from = /24 } Formation permanente ARS
171 Gestionnaire de services réseau : xinetd /etc/xinetd.conf : directive access_times 47.5 /etc/xinetd.conf : directive access_times Par exemple : service ftp { socket-type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l instances = 4 access_times = 7:00-12:30 13:30-21:00 nice = 10 only_from = /24 } Formation permanente ARS Gestionnaire de services réseau : xinetd /etc/xinetd.conf : directives bind, id 47.6 /etc/xinetd.conf : directives bind, id Soit une machine avec 2 interfaces réseau d adresses et : service ftp { id = ftp-public bind = socket-type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l instances = 4 access_times = 7:00-21:00 nice = 10 only_from = /24 } service ftp { id = ftp-private bind = socket-type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l instances = 4 access_times = 7:00-21:00 nice = 10 only_from = /24 } Formation permanente ARS
172 Gestionnaire de services réseau : xinetd /etc/xinetd.conf : directives bind, id La directive id servira au niveau de SYSLOG à différencier les traces de l un ou l autre de FTPD. Formation permanente ARS Gestionnaire de services réseau : xinetd /etc/xinetd.conf : directive redirect 47.7 /etc/xinetd.conf : directive redirect Par exemple : service telnet { flags = REUSE socket-type = stream wait = no user = root server = /usr/sbin/in.telnetd only_from = /24 redirect = } Et un telnet vers renverra vers le démon telnetd de Formation permanente ARS
173 Gestionnaire de services réseau : xinetd /etc/xinetd.conf : tcpd et directive NAMEINARGS 47.8 /etc/xinetd.conf : tcpd et directive NAMEINARGS Par exemple : service ftp { flags = NAMEINARGS REUSE socket-type = stream wait = no user = root server = /usr/sbin/tcpd server_args = /usr/sbin/in.ftpd -l instances = 4 access_times = 7:00-12:30 13:30-21:00 nice = 10 only_from = /24 } TCP WRAPPERS et XINETD ne sont pas antinomiques. Formation permanente ARS Gestionnaire de services réseau : xinetd /etc/xinetd.conf : directive chroot 47.9 /etc/xinetd.conf : directive chroot Par exemple : service ftp { socket-type = stream wait = no user = root server = /usr/sbin/chroot server_args = /quelquepart/blockhaus/ftp /usr/sbin/in.ftpd -l instances = 4 access_times = 7:00-12:30 13:30-21:00 nice = 10 only_from = /24 } On est ainsi compartimenté à l arborescence de /quelquepart/blockhaus/ftp dont on ne peut pas sortir. Intérêt pour la sécurité de la machine. Formation permanente ARS
174 Gestionnaire de services réseau : xinetd Reconfiguration, signaux Reconfiguration, signaux Sont supportés les signaux : signal SIGUSR1 : sur sa réception, xinetd se reconfigure signal SIGUSR2 : sur sa réception, xinetd se reconfigure en tuant les démons inutiles signal SIGTERM : sur sa réception, xinetd se saborde signal SIGHUP : sur sa réception, xinetd écrit le fichier /var/run/xinetd.dump Formation permanente ARS
175 Quelques services et protocoles réseau Chapitre 48 : Quelques services et protocoles réseau 48.1 Services réseau inutiles Deux règles : 1. Tout ce qui n est pas autorisé est interdit. 2. Retirer tous les services réseau non nécessaires. Il est indispensable de connaître la finalité de la machine pour savoir quels services réseau sont nécessaires. Tout autre service doit être desactivé. Formation permanente ARS Quelques services et protocoles réseau Services réseau inutiles Le danger actuel : Linux et Windows NT (cf séance OSSIR de décembre 1998, Pourquoi? activation par défaut de pleins de services réseau non nécessaires % ps -ax grep "inutile" 277? S 0:00 /usr/sbin/snmpd -f 380? S 0:00 httpd 403? S 0:00 (smbd) 412? S 0:57 nmbd -D 11549? S 0:17 smbd -D 16778? S 0:03 smbd -D 244? S 0:00 /usr/sbin/atd 18642? S 0:00 (httpd) 18643? S 0:00 (httpd) utilisateur incompétent qui ne connaît pas les services et qui pense qu il aura peut être besoin un jour de ces services. Formation permanente ARS
176 Quelques services et protocoles réseau Services réseau inutiles Autre danger : le déni de service (Denial of Service, DoS) ; attaque très en vogue actuellement. L idée : on ne pénétre pas une machine mais on fait en sorte qu elle ne puisse plus satisfaire une de ses fonctions de service. Pour des informations complémentaires, on pourra se reporter (en autre car les références sur le sujet sont nombreuses) à donné en annexe de ce chapitre. Formation permanente ARS Quelques services et protocoles réseau Services réseau inutiles Par exemple, en pratique, desactiver tous les services de type internal dans /etc/inetd.conf : # # "Small servers" -- used to be standard on, but we re more conservative # about things due to Internet security concerns. Only turn on what you # need. # #daytime stream tcp nowait root internal #daytime dgram udp wait root internal #time stream tcp nowait root internal #time dgram udp wait root internal #echo stream tcp nowait root internal #echo dgram udp wait root internal #discard stream tcp nowait root internal #discard dgram udp wait root internal #chargen stream tcp nowait root internal #chargen dgram udp wait root internal Formation permanente ARS
177 Quelques services et protocoles réseau Protocole TELNET, telnet, telnetd 48.2 Protocole TELNET, telnet, telnetd Une connexion via telnet nécessite que le service telnet soit activé au niveau de inetd.conf : telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd Par telnet, il y a toujours demande d un nom de login et d un mot de passe. Formation permanente ARS Quelques services et protocoles réseau Protocole TELNET, telnet, telnetd Quelques problèmes : Attention aux connexions root via le réseau. Il faut interdire les connexions root via le réseau parce qu elles sont anonymes. µ Vérifier /etc/ttys (ou équivalent /etc/securettys...) et minimaliser le nombre de terminaux sécurisés. Il n y a pas de traces des connexions locales. Au mieux, tcpd informera d où vient la connexion mais pas de l identité prise sur la machine locale. Remède : utiliser le package logiciel logdaemon URL ftp://ftp.porcupine.org/pub/security/logdaemon-5.8.tar.gz Formation permanente ARS
178 Quelques services et protocoles réseau Protocole RLOGIN, rlogin, rlogind 48.3 Protocole RLOGIN, rlogin, rlogind Une connexion via rlogin nécessite que le service login soit activé au niveau de inetd.conf : login stream tcp nowait root /usr/sbin/in.rlogind in.rlogind Par rlogin, le mécanisme de demande de mot de passe est le suivant : Si la machine d où l on vient est mentionnée dans /etc/hosts.equiv et si l on a la même identité au départ qu à l arrivée, alors pas de demande de mot de passe. Pour root, cette étape ne s applique pas. Si son identité et la machine d où l on vient, sont mentionnées dans le fichier.rhosts de l utilisateur d arrivée alors pas de demande de mot de passe. Sinon demande d un mot de passe. Formation permanente ARS Quelques services et protocoles réseau Protocole RLOGIN, rlogin, rlogind Formation permanente ARS
179 Quelques services et protocoles réseau Protocole RLOGIN, rlogin, rlogind Les problèmes : Attention au contenu de /etc/hosts.equiv. SunOS 4.x.y fournissait un fichier contenant "+ +". Attention aux connexions root via le réseau. Il faut interdire les connexions root via le réseau parce qu elles sont anonymes. µ Vérifier /etc/ttys (ou équivalent /etc/securettys...) et minimaliser le nombre de terminaux sécurisés. Vérifier "~root/.rhosts". C est une cible privilégiée des pirates qui essayent d y écrire "+ +". Il n y a pas de traces des connexions locales. Au mieux, tcpd informe d où vient la connexion mais pas de l identité prise sur la machine locale. Remède : utiliser le package logiciel logdaemon URL ftp://ftp.porcupine.org/pub/security/logdaemon-5.8.tar.gz Formation permanente ARS Quelques services et protocoles réseau Protocole FTP, ftp, ftpd 48.4 Protocole FTP, ftp, ftpd FTP : File Transfer Protocol Une connexion via ftp nécessite que le service ftp soit activé au niveau de inetd.conf : ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -l Au niveau de /etc/services, on voit 2 ports assignés au protocole FTP : ftp-data ftp 20/tcp 21/tcp Formation permanente ARS
180 Quelques services et protocoles réseau Protocole FTP, ftp, ftpd Le protocole FTP est «complexe» car c est un dialogue bidirectionnel : Un client FTP se connecte sur le port 21 (ftp de /etc/services) du serveur FTP. client serveur Le port 21 sert à envoyer des commandes au connexion serveur FTP. Si les commandes nécessitent que des données soient reçues (commandes dir, get par exemple) ou transmises (put par PORT port 21 port 21 exemple) au serveur, le client envoie une DIR commande PORT au serveur indiquant un port sur lequel le serveur va créer une port 21 connexion depuis le port 20 (ftp-data de /etc/services). La connexion FTP-DATA est close dès que port data port 20 toutes les données sont transférées. Formation permanente ARS Quelques services et protocoles réseau Protocole FTP, ftp, ftpd Exemple : % ftp -v -d localhost Connected to localhost. 220 cerise FTP server (SunOS 5.8) ready. Name (localhost:besancon): besancon ---> USER besancon 331 Password required for besancon. Password: ---> PASS XXXXXXXXX 230 User besancon logged in. ftp> lcd /tmp Local directory now /tmp ftp> cd /etc ---> CWD /etc 250 CWD command successful. ftp> get motd ---> PORT 127,0,0,1,129, PORT command successful. ---> RETR motd 150 ASCII data connection for motd ( ,33085) (54 bytes). 226 ASCII Transfer complete. local: motd remote: motd 55 bytes received in seconds (62.53 Kbytes/s) ftp> quit ---> QUIT 221 Goodbye. Formation permanente ARS
181 Quelques services et protocoles réseau Protocole FTP, ftp, ftpd Soit une machine A qui sera un client FTP. Soit une machine B qui sera un serveur FTP. host A serveur FTP routeur access list 100 host B client FTP Tout le trafic vers host B est filtré par l access-list 100 du cisco. L ACL cisco pour autoriser le FTP du client vers le serveur est : access-list 100 permit tcp host eq ftp-data \ host gt 1023 established Formation permanente ARS Quelques services et protocoles réseau Protocole FTP, ftp, ftpd Au niveau contrôle d accès, les implémentations de base proposent : le fichier /etc/ftpusers contient les noms des utilisateurs non autorisés à utiliser ftp. root doit être exclus comme d habitude. le fichier /etc/shells contient les shells des utilisateurs autorisés à utiliser ftp. Moralité : pour interdire un utilisateur à utiliser FTP : indiquer le login de la personne au niveau de /etc/ftpusers faire en sorte que le shell de la personne ne soit pas dans /etc/shells Pour configurer un FTP anonyme, se reporter aux deux FAQ : ftp://ftp.lip6.fr/pub/doc/faqs/ftp-list/faq.gz ftp://ftp.lip6.fr/pub/doc/faqs/computer-security/anonymous-ftp-faq.gz Formation permanente ARS
182 Quelques services et protocoles réseau Protocole FTP, ftp, ftpd Outre les versions fournies par les constructeurs, il y a plusieurs démons du domaine public plus performants : ftp://ftp.wu-ftpd.org/ ftp://ftp.academ.com/pub/wu-ftpd/wu-ftpd tar.z ftp://ftp.proftpd.org/distrib/source/proftpd tar.gz Il y a de nombreuses fonctionnalités : traces de fonctionnement nombreuses possibilité de contrôler les accès compression à la volée des fichiers récupérés par les gens Formation permanente ARS Quelques services et protocoles réseau Protocole TFTP, tftp, tftpd 48.5 Protocole TFTP, tftp, tftpd TFTP : Trivial File Transfer Protocol Une connexion via tftp nécessite que le service tftp soit activé au niveau de inetd.conf : tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd -s /tftpboot TFTP, c est en gros FTP sans pouvoir lister les directories distants et ne nécessitant pas de mot de passe pour récupérer ou déposer des fichiers! En fait, celui qui utilise TFTP sait ce qu il veut récupérer et n a pas besoin de lister le directory. Par exemple, récupération d un fichier de configuration pour : terminal X imprimante HP réseau Formation permanente ARS
183 Quelques services et protocoles réseau Protocole TFTP, tftp, tftpd On récupére les fichiers dans la sous arborescence /tftpboot. Le danger : un démon tftpd mal configuré permet de récupérer tout fichier hors de /tftpboot. Le fichier /etc/passwd par exemple. µ vérifier les options de lancement. Traditionnellement utiliser l option -s au niveau de /etc/inetd.conf : tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd -s /tftpboot Formation permanente ARS Quelques services et protocoles réseau Protocole TFTP, tftp, tftpd A noter : il est parfois utile de faire le lien symbolique suivant : # cd /tftpboot # ln -s. tftpboot car des requêtes portent parfois sur des noms du type /tftpboot/fichier. % cd /tftpboot % ls -l drwxr-xr-x 2 root wheel 1536 Jan 4 15:02 cisco/ drwxr-sr-x 7 root wheel 512 Nov hds/ drwxr-sr-x 2 root wheel 512 Sep hp/ drwxr-sr-x 4 root wheel 512 Dec ncd/ drwxr-sr-x 2 root wheel 512 Mar plaintree/ drwxr-xr-x 2 root wheel 512 Aug sun/ lrwxrwxrwx 1 root wheel 1 May tftpboot@ ->. drwxr-sr-x 3 root wheel 512 Feb usr/ Formation permanente ARS
184 Quelques services et protocoles réseau Protocole RARP, obtention d adresse IP 48.6 Protocole RARP, obtention d adresse IP Il existe des machines spécialisées sans système avec une interface réseau : station Unix sans disque (dite diskless) terminal X, clients légers imprimante réseau caméra WWW Le problème consiste à leur donner une adresse IP. La solution : le protocole RARP, Reverse Address Resolution Protocol : la station diffuse son adresse physique sur le câble réseau un serveur reçoit la requête et explore une base de données le serveur renvoie l adresse IP à la station la station peut alors utiliser le protocole IP En pratique, il y a 3 solutions pour implémenter ce protocole : RARP, BOOTP, DHCP. Formation permanente ARS Quelques services et protocoles réseau Protocole RARP, rarpd 48.7 Protocole RARP, rarpd Démon rarpd Il utilise le fichier /etc/ethers : 08:00:20:03:2f:15 08:00:20:04:03:b4 08:00:20:02:fc:d2 valerian.lpt.ens.fr bill.lpt.ens.fr chang.lpt.ens.fr Formation permanente ARS
185 Quelques services et protocoles réseau Protocole BOOTP, bootpd 48.8 Protocole BOOTP, bootpd Le protocole BOOTP est plus complet que RARPD. Il permet en plus de spécifier des paramètres de boot. Démon bootpd Le démon bootpd se lance : soit en mode autonome : % ps -ax grep bootp 314?? Is 0:00.01 /usr/libexec/bootpd soit via inetd : bootps dgram udp wait root /usr/libexec/bootpd bootpd Formation permanente ARS Quelques services et protocoles réseau Protocole BOOTP, bootpd Il faut renseigner le fichier /etc/bootptab (fichier par défaut mais c est configurable à volonté) : fermion.lpt.ens.fr:\ :tc=.default:\ :ht=ethernet:\ :ha=0x :\ :ip= :\ :hd=/hds/netos/image:\ :bf=x.hds: Formation permanente ARS
186 Quelques services et protocoles réseau Protocole DHCP, dhcpd, dhcpd.conf, dhclient 48.9 Protocole DHCP, dhcpd, dhcpd.conf, dhclient DHCP : Dynamic Host Configuration Protocol RFC 2131 et RFC Port TCP 67 (port d écoute du serveur) Port TCP 68 (port de réponse du serveur) Formation permanente ARS Quelques services et protocoles réseau Protocole DHCP, dhcpd, dhcpd.conf, dhclient On distingue : le serveur DHCP : à l écoute sur ses interfaces réseau, il distribue par son autorité des adresses IP résidant dans des plages DHCP SERVER le DHCP relay agent : il sait router les paquets IP du protocole DHCP entre un client et un serveur DHCP agent le client DHCP : il utilise le protocole DHCP pour découvrir son adresse IP et d autres paramètres réseau ou autres paramètres (dits DHCP options ; par exemple le serveur NTP) DHCP CLIENT Formation permanente ARS
187 Quelques services et protocoles réseau Protocole DHCP, dhcpd, dhcpd.conf, dhclient Protocole DHCP Principe : 1. Une machine démarre dans l état INIT 2. Elle cherche un serveur DHCP en envoyant un paquet DHCPDISCOVER. 3. Un ou plusieurs serveurs DHCP répondent par un paquet DHCPOFFER contenant une adresse IP et des options DHCP. 4. Le client sélectionne un serveur DHCP parmi ceux qui ont répondu. Par exemple, le premier. 5. Le client broadcaste un paquet DHCPREQUEST spécifiant l adresse IP retenue. 6. Le serveur retenu répond au client en lui envoyant un paquet DHCPACK. 7. Après, le client posséde l adresse IP pour un laps de temps appelé lease. Formation permanente ARS Quelques services et protocoles réseau Protocole DHCP, dhcpd, dhcpd.conf, dhclient Lorsqu une machine qui a obtenu une adresse IP via DHCP reboote, elle ne recommence pas exactement les étapes ci-dessus. Elle commence dans l état INIT-REBOOT. Elle envoie un paquet DHCPREQUEST reprenant l adresse précédemment acquise. En cas de disponibilité de l adresse, le serveur répond par DHCPACK. En cas de non disponibilité (par exemple, le portable a changé de réseau), un serveur DHCP répond par DHCPNACK. A ce moment-là, la machine reprend à l étape 1 de ci-dessus. Mécanisme de détection de duplicate IP address : le serveur DHCP envoie un paquet ICMP Echo ; en cas de réponse, le serveur propose une autre adresse le client DHCP envoie un paquet ARP ; en cas de réponse, le client envoie un paquet DHCPDECLINE ; le serveur proposera alors une nouvelle adresse Formation permanente ARS
188 Quelques services et protocoles réseau Protocole DHCP, dhcpd, dhcpd.conf, dhclient Faiblesses du protocole DHCP Denial of Service possible ; DHCPDISCOVER puis DHCPNAK jusqu à épuisement des numéros libres sur le serveur DHCP par exemple single point of failure ; pas de mécanisme de serveur DHCP de secours pas d authentification du client au serveur et vice-versa inadéquation de l adresse MAC comme Client Identifier ; par exemple un portable et un dock, une carte PCMCIA réseau Formation permanente ARS Quelques services et protocoles réseau Protocole DHCP, dhcpd, dhcpd.conf, dhclient ISC DHCP ftp://ftp.isc.org/isc/dhcp/dhcp-3.0pl1.tar.gz Version 3 : supporte le Dynamic DNS Update, l authentification DHCP Peut répondre à des requêtes BOOTP. Fichier de configuration : /quelque-part/dhcp.conf (en général /etc/dhcp.conf) En cas de modification au fichier de configuration, il faut arrêter le démon dhcpd et le relancer (par exemple /etc/rc.d/dhcp restart). Pas de SIGHUP pour le reconfigurer on the fly. Formation permanente ARS
189 Quelques services et protocoles réseau Protocole DHCP, dhcpd, dhcpd.conf, dhclient Exemple de /etc/dhcpd.conf : ddns-update-style always-reply-rfc1048 none; on; option domain-name-servers ; option domain-name "jardiniers.org"; option subnet-mask ; option broadcast-address ; option log-servers ; subnet netmask { range ; default-lease-time 120; max-lease-time 180; } host gutenberg { # Apple 12/640 hardware ethernet 08:00:07:24:46:59; fixed-address ; } Formation permanente ARS Quelques services et protocoles réseau Protocole DHCP, dhcpd, dhcpd.conf, dhclient Le serveur écrit les leases sur disque : /quelque-part/dhcpd.leases (souvent /var/run/dhcpd.leases) ; ancienne base dhcpd.leases~ Exemple de /var/run/dhcpd.leases : # All times in this file are in UTC (GMT), not your local timezone. This is # not a bug, so please don t ask about it. There is no portable way to # store leases in the local timezone, so please don t request this as a # feature. If this is inconvenient or confusing to you, we sincerely # apologize. Seriously, though - don t ask. # The format of this file is documented in the dhcpd.leases(5) manual page. # This lease file was written by isc-dhcp-v3.0.1rc6 lease { starts /09/08 22:57:10; ends /09/08 22:59:10; binding state active; next binding state free; hardware ethernet 00:04:76:48:4f:65; } Formation permanente ARS
190 Quelques services et protocoles réseau Protocole DHCP, dhcpd, dhcpd.conf, dhclient Sur Red Hat Linux, on peut dire à la machine de configurer son adresse réseau via DHCP au niveau de /etc/sysconfig/network-scripts/ifcfg-eth0 : DEVICE = eth0 IPADDR = NETMASK = NETWORK = BROADCAST = GATEWAY = none ONBOOT = yes DYNAMIC = dhcp Une machine Unix utilisant DHCP fait tourner dhclient Formation permanente ARS Quelques services et protocoles réseau Protocole DHCP, dhcpd, dhcpd.conf, dhclient Possibilité d avoir une configuration du comportement DHCP du client au moyen du fichier /etc/dhclient.conf. Par exemple : timeout 60; retry 60; reboot 10; select-timeout 5; initial-interval 2; reject ; interface "ep0" { send host-name "andare.fugue.com"; send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; send dhcp-lease-time 3600; supersede domain-name "fugue.com rc.vix.com home.vix.com"; prepend domain-name-servers ; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name; require subnet-mask, domain-name-servers; script "/sbin/dhclient-script"; media "media 10baseT/UTP", "media 10base2/BNC"; } alias { interface "ep0"; fixed-address ; option subnet-mask ; } Formation permanente ARS
191 Quelques services et protocoles réseau Protocole DHCP, dhcpd, dhcpd.conf, dhclient Options pour clients Microsoft Cf : default.asp?url=/windows2000/en/server/help/\ sag_dhcp_add_optionsmsvendorspecific.htm Formation permanente ARS Quelques services et protocoles réseau Protocole DHCP, dhcpd, dhcpd.conf, dhclient Outils satellites pour DHCP Quelques outils : logiciel dhcpdump : logiciel dhcping : #./dhcping -c s h 8:0:20:cf:62:12 Got answer from: Formation permanente ARS
192 Courrier électronique Chapitre 49 : Courrier électronique 49.1 Composantes du système du courrier électronique C est un système complexe dont la complexité croît sans cesse. Il a de fortes interactions avec Internet, avec les Intranets. De nombreuses implémentations sont disponibles (X400, SMTP, etc.). Le système est modulaire, son bon fonctionnement reposant sur des descriptions publiquement disponibles des détails des différents protocoles. Formation permanente ARS Courrier électronique Composantes du système du courrier électronique Réseau Destinataire du courrier non local Courriers à destination d un utilisateur local Transmission au facteur local MTA Distribution personnalisée MDA Boîte aux lettres Emission d un courrier Consultation des courriers MUA Formation permanente ARS
193 Courrier électronique Composantes du système du courrier électronique Terminologie : MUA (Mail User Agent agent utilisateur) Il sert à la composition des messages qu il envoie à l agent de routage. MTA (Mail Transfer Agent agent de routage) En fonction de l adresse de destination, il passe le message à un certain agent de transport. MDA (Mail Delivery Agent agent de transport) Il reçoit un message, une destination et se charge de l acheminement. Il est spécialisé dans un type d acheminement. (synonyme mailer) Formation permanente ARS Courrier électronique Mail Transfer Agent (MTA) 49.2 Mail Transfer Agent (MTA) Rôle : sur réception d un courrier, détermine le meilleur moyen d acheminer ce courrier à destination (quel protocole utiliser) et passe ce courrier à ce moyen. Analogie : un centre de tri postal La poste centre de tri jean centre de tri Formation permanente ARS
194 Courrier électronique Mail Transfer Agent (MTA) Plusieurs MTA existent : Sendmail, Postfix Formation permanente ARS Courrier électronique Sendmail 49.3 Sendmail Sendmail : Conçu en 1982, par Eric Allman (<[email protected]>) LE routeur de courrier pour les systèmes UNIX les plus répandus Souple, puissant Sait s adapter aux nouveaux standards (aspects multimedia) Abscons Cfhttp:// pour le site officiel (récupération du logiciel, documentation de référence) Cflekit jussieu pour configurer sendmail Documentation très pédagogique ftp://ftp.jussieu.fr/jussieu/sendmail/kit/kit tar.z ftp://ftp.jussieu.fr/jussieu/sendmail/kit/doc-kit ps.z Formation permanente ARS
195 Courrier électronique Postfix 49.4 Postfix Futur successeur de sendmail certainement dans quelques années. Une réflexion sur sendmail a conduit à écrire postfix sous une forme non monolithique. Plusieurs démons vont s occuper chacun d une tâche bien précise et n utilisent pour cela que le minimum de privilèges système limitant le risque de piratage : transport aliases.forward rewrite resolve local mailbox local "sendmail" maildrop pickup cleanup incoming active qmgr smtp Internet Internet smtpd canonical virtual deferred relocated pipe UUCP, etc. RBL access Formation permanente ARS Courrier électronique Postfix Le fichier de configuration est une succession d affectation de valeurs à des variables. Approche radicalement différente de celle de sendmail plus proche d une programmation de la configuration. Approche de postfix identique à celle du kit jussieu pour sendmail (ou vice versa). Possibilité de modifier on the fly le comportement de postfix. Par exemple à l établissement d une connexion PPP ou lors de sa cloture, on peut depuis le script PPP dire à postfix d échanger les mails maintenant avec l extérieur. Avec sendmail, il faudrait arrêter sendmail, mettre en place une nouvelle configuration sendmail.cf, relancer sendmail, ensemble de manœuvres lourdes. Formation permanente ARS
196 Courrier électronique Normes utilisées par sendmail et postfix 49.5 Normes utilisées par sendmail et postfix Sous forme de RFC : RFC 822, description du format des messages RFC 821, description du protocole SMTP (Simple Mail Transfer Protocol) RFC 974, description de l interaction d un MTA avec le DNS RFC 1035, RFC 1123, Attention : documents techniques hermétiques à la lecture compliquée Cf ftp://ftp.lip6.fr/pub/rfc/rfc/ Formation permanente ARS Courrier électronique Adresses postmaster, abuse, SPAM 49.6 Adresses postmaster, abuse, SPAM Les problèmes de mail sont à adresser à postmaster. Les MTA font l hypothèse que cette adresse existe. Cette adresse doit être lue par un humain. Dans le même style, l adresse abuse pour les problèmes de SPAM. UCE Unsolicited Commercial SPAM Formation permanente ARS
197 Courrier électronique Adresses postmaster, abuse, SPAM Formation permanente ARS Courrier électronique Adresses postmaster, abuse, SPAM En cas de SPAM, envoyer un mail : à l adresse [email protected] au titre d enquête sur les spams (entrée du 10 juillet 2002 de la page ; enquête terminée maintenant : ne plus se servir de cette adresse à l adresse [email protected] du site (tendance à la mode) ; pour le trouver se reporter au serveur WHOIS whois.cyberabuse.org. Formation permanente ARS
198 Courrier électronique Adresses postmaster, abuse, SPAM % whois -h whois.cyberabuse.org % % \_/ ] / / \ ] [ % ] \ ] ] %.Org % This is the CyberAbuse Whois server v3.4 % Its goal is to provide an easy way for % administrators and home users to find the abuse % contact for a specific IP address. % The data below is provided for information only, % we can t take responsibility for any error or % misuse of this tool. [ Informations about ] IP range : Network name : TROIS-SUISSES-FRANCE AS number : AS12670 Infos : Lille Phone number : Country : FR Abuse contact : [email protected] Source : RIPE % --- % This service is subject to the terms and conditions % stated in the RIPE NCC Database Copyright Notice. % % --- % whois.cyberabuse.org uses ARIN, RIPE, APNIC % BRNIC, JPNIC, KRNIC, RADB whois servers to % provide you this service. % for more details. Formation permanente ARS Courrier électronique Adresses postmaster, abuse, SPAM Il existe aussi plusieurs initiatives de recensement des sites spammeurs. Leurs bases de données permettent de boycotter ces sites spammeurs. RBL Real-time Blackhome List Le problème : si votre site a servi à des spammeurs, vous pouvez être blacklisté empêcher le relayage sur son site µ gestion difficile des utilisateurs nomades (lecture des mails à distance facilement contrôlable mais contrôler le post avec les outils de base n est guère possible) Formation permanente ARS
199 Courrier électronique Adresses génériques, reverses 49.7 Adresses génériques, reverses A l utilisateur besancon est associé l adresse générique besancon@... Les MTA proposent de plus en plus de traduire en émission de courier cette adresse en Prénom.Nom@... ce qui nécessite en réception de convertir à l inverse d où l emploi d alias reverse. Formation permanente ARS
200 Courrier électronique Protocoles de consultation : POP, IMAP 49.8 Protocoles de consultation : POP, IMAP POP Post Office Protocol ;RFC??? IMAP???; RFC 2060 (protocole IMAP4rev1), RFC 2086 (ACL, extension de IMAP4), RFC 2087 (quota, extension de IMAP4) 2 approches très différentes (cf figure page suivante) : un client POP transfère les messages du serveur POP vers le poste de l utilisateur le serveur POP se débarasse au fur et à mesure des consultations des messages µ perte total des mails en cas de crash du poste client un serveur IMAP stocke les messages et ne les transfère jamais en s en débarassant de lui même au client µ quel que soit le poste de consultation, on retrouve ses mails µ aucune perte des mails en cas de crash du poste client µ adapté aux utilisateurs nomades Formation permanente ARS Courrier électronique Protocoles de consultation : POP, IMAP Formation permanente ARS
201 Courrier électronique Protocoles de consultation : POP, IMAP De nombreuses implémentations pas forcément très réputées au niveau sécurité : version qpopper : ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper3.1.2.tar.gz version courier imap : version cyrus imap : Formation permanente ARS Courrier électronique Protocoles de consultation : POP, IMAP Comparatif de session POP et IMAP : (extrait de $ telnet mailhost 110 $ telnet mailhost 143 +OK POP3 server ready * OK IMAP4 server ready USER pdupont. LOGIN pdupont tululu +OK Name is a valid mailbox. OK User logged in PASS tululu +OK Maildrop locked and ready. SELECT INBOX * FLAGS (\Answered \Flagged \Draft \Deleted \Seen) * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)] * 3 EXISTS * 3 RECENT * OK [UNSEEN 1] * OK [UIDVALIDITY ]. OK [READ-WRITE] Completed LIST. UID FETCH 1:* RFC822.SIZE +OK scan listing follows * 1 FETCH (UID 1425 RFC822.SIZE 169) * 2 FETCH (UID 1426 RFC822.SIZE 811) * 3 FETCH (UID 1427 RFC822.SIZE 813) OK Completed. Formation permanente ARS
202 Courrier électronique Protocoles de consultation : POP, IMAP (suite) RETR 1. UID FETCH 1425 BODY[] +OK Message follows * 1 FETCH (FLAGS (\Recent \Seen) UID 1425 BODY[] {169} Return-Path: <[email protected]> Return-Path: <[email protected]> From: [email protected] From: [email protected] To: [email protected] To: [email protected] Subject: essai chien chapeau Subject: essai chien chapeau essai chien chapeau essai chien chapeau. ). OK Completed DELE 1. UID STORE FLAGS (\Deleted) +OK message deleted * 1 FETCH (FLAGS (\Recent \Deleted \Seen) UID 1425). OK Completed. EXPUNGE * 1 EXPUNGE * 2 EXISTS * 2 RECENT. OK Completed QUIT. LOGOUT +OK * BYE LOGOUT received Connection closed by foreign host.. OK Completed Connection closed by foreign host. Formation permanente ARS
203 Langages d impression Chapitre 50 : Langages d impression 50.1 Problématique Comment une imprimante comprend-elle un fichier qu un utilisateur veut lui envoyer? Quels sont les formats compris nativement par l imprimante? Comment gérer certaines caractéristiques de l imprimante? Formation permanente ARS Langages d impression Postscript 50.2 Postscript Langage créé par la société Adobe ( Dessin vectoriel. Langage de description de page, fonctionnant avec une stack (pile). Par exemple ½ peut se coder : forme sub add forme 1 6 add 5 sub forme neg add add etc. ce qui donne avec la première forme : sub add Formation permanente ARS
204 Langages d impression Postscript Le nom d un fichier Postscript se finit en général par le suffixe.ps ou.eps Système de coordonnées au sein d une page Postscript Format américain (dit letter) : 612 x 795 Format européen (dit a4) : 595 x 842 Le contenu d un fichier Postscript commence par les 2 premiers caractères %! Les fichiers Postscript destinés à être inclus dans d autres documents sont dits Encapsulated Postscript (ou EPSF) et commencent par une ligne du genre : %!PS-Adobe-2.0 EPSF-1.2 suivie d autres lignes de commentaires actifs : %%Creator:Adobe Illustrator(TM) 1.0b2- %%Title:golfer art+ %%CreationDate:1/6/87 9:32 AM %%DocumentFonts:Helvetica-Bold %%BoundingBox: dont %%BoundingBox: qui détermine les dimensions du dessin. Formation permanente ARS Langages d impression Postscript Par exemple, le code suivant : %! /Times-Roman findfont 40 scalefont setfont moveto (TEST DE L IMPRIMANTE) show moveto (T.BESANCON) show showpage donne, une fois imprimé, la page suivante : TEST DE L IMPRIMANTE T.BESANCON Formation permanente ARS
205 Langages d impression Postscript Les dessins en Postscript peuvent être complexes : Poids de ce dessin vectoriel (par tête) : octets, ce qui est faible par rapport à du bitmap Formation permanente ARS Langages d impression Interpréteurs Postscript 50.3 Interpréteurs Postscript L interpréteur Postscript le plus connu est ghostscript. Cf Actuellement version 7.05 (au 24 août 2002). Initialement disponible sur Unix, il est maintenant disponible sur Windows et sur Macintosh sous une forme avec interface graphique : ftp://ftp.lip6.fr/pub/gnu/ghostview/ (GUI Unix) (GUI pour Unix) (GUI pour Windows) (GUI pour Macintosh) Formation permanente ARS
206 Langages d impression Interpréteurs Postscript L intérêt de ghostscript est : visualiser des fichiers Postscript comme les documentations convertir des fichiers Postscript en d autres formats : FAX PDF PCL pour imprimante PC etc. Mais la principale utilisation de ghostscript doit être certainement maintenant sur Linux où il sert à convertir du Postscript en langage PCL qui est compris par les imprimantes PC. Quelques utilisations intéressantes : calculer la BoundingBox d une figure Postscript : gs -sdevice=bbox fichier.ps afficher au format A4 : gs -spapersize=a4 fichier.ps convertir du Postscript en PDF au format A4 : ps2pdf13 -spapersize=a4 fichier.ps (ps2pdf13 est un shell script construit autour de gs avec les bonnes options) Formation permanente ARS Langages d impression Convertisseurs texte vers Postscript 50.4 Convertisseurs texte vers Postscript Comment imprimer un fichier texte sur une imprimante Postscript? Réponse : après l avoir converti en Postscript Quelques outils : outil a2ps, cfhttp:// outil gnu enscript, cf Formation permanente ARS
207 Langages d impression Convertisseurs texte vers Postscript Comment imprimer plusieurs pages côte à côte (format dit Nup)? Réponse : convertir en fichier Postscript «normal» le fichier original puis regrouper les pages sur la même page via un autre code Postscript Quelques outils : outil a2ps, cfhttp:// outil mpage, cfhttp:// Formation permanente ARS Langages d impression PCL 50.5 PCL PCL Printer Command Language Langage de description de la page à imprimer. Développé par HP pour ses imprimantes. 6 versions de PCL : PCL 1 (années 1980), PCL 2 (années 1980), PCL 3 (1984), PCL 4 (1985), PCL 5 (HP Laserjet III), PCL 6 (HP Lasetjet 4000) Les commandes PCL sont des séquences d escape. Par exemple EcE&l3A (passe en papier letter). Pour convertir du Postscript en PCL, faire : gs -q -ssafer -sdevice=deskjet -sooutputfile=fichier.pcl -dnopause fichier.ps Formation permanente ARS
208 Langages d impression PJL 50.6 PJL PJL Printer Job Language Language de contrôle de l impression des jobs. Par exemple : sélection du bac d entrée ou de sortie de papier impression recto verso taille du papier fichier PCL ou fichier Postscript etc. Exemple de commande : ESC%-12345X@PJL DEFAULTS DENSITY=5 Le logiciel ifhp associé à LPRng sait tirer pleinement parti du langage PJL. Cf Formation permanente ARS
209 Protocole d impression LP Chapitre 51 : Protocole d impression LP 51.1 Principe des systèmes d impression Via les fichiers spéciaux, on peut attaquer directement une imprimante : cat fichier > /dev/lp0 Toutefois, un tel accès n est pas adapté dans un environnement réel : il faut des mécanismes plus complexes permettant aux utilisateurs de s affranchir : de la connaissance des noms de fichiers spéciaux ; du risque d impressions mélangées lorsque deux utilisateurs essayent d imprimer en même temps ; des détails matériels tels que l absence momentanée de papier ; de la nécessité d attendre que l impression en cours se termine ; etc. Formation permanente ARS Protocole d impression LP Principe des systèmes d impression Pour résoudre tous ces problèmes, il a été conçu des spouleurs (spoolers). Le principe en est simple : les utilisateurs déposent leurs fichiers dans un répertoire convenu, à l aide de la commande d impression. C est la requête d impression ; un démon surveille ce répertoire (file d attente), en extrait un fichier, l imprime (par accès au fichier spécial), puis extrait le suivant, l imprime, etc. des commandes permettent aux utilisateurs de savoir ce qu il y a dans la file d attente, et éventuellement de détruire une de leurs requêtes ; des commandes permettent à l administrateur de gérer ce mécanisme, en : créant une nouvelle file d attente pour une nouvelle imprimante ; autorisant ou interdisant les dépôts dans les files d attente ; autorisant ou interdisant les impressions ; Formation permanente ARS
210 Protocole d impression LP Principes de LP 51.2 Principes de LP Les commandes du système d impression LP sont : Commande Autorisation Description accept administrateur accepte les requêtes cancel utilisateur supprime une requête disable utilisateur désactive une imprimante enable utilisateur active une imprimante lp utilisateur place une requête dans une file lpadmin administrateur configuration lpmove administrateur change la destination d une requête lpsched administrateur le démon proprement dit lpshut administrateur arrête le démon lpstat utilisateur liste la file d attente reject administrateur refuse les requêtes Formation permanente ARS Protocole d impression LP Principes de LP Les interactions entre les différents composants du système LP sont résumées dans la figure suivante : lp lpmove accept/reject file d attente flle d attente lpstat enable/disable lpsched imprimante 1 imprimante 2 imprimante 3 Formation permanente ARS
211 Protocole d impression LP Principes de LP Les requêtes sont dirigées vers des destinations. Une destination correspond à un réservoir (file d attente). Chaque file d attente peut être associée à : une imprimante isolée (cas le plus fréquent). C est le cas de l imprimante 1 dans l exemple ; un groupe d imprimantes : c est ce qu on nomme une classe. Les requêtes sont alors envoyées indifféremment sur n importe laquelle des imprimantes de la classe. C est le cas des imprimantes 2 et 3 dans l exemple. Formation permanente ARS Protocole d impression LP Principes de LP Il y a trois moyens de spécifier une destination, classés par ordre de priorité : 1. avec l option -d ; 2. avec la variable d environnement LPDEST ; 3. en ne nommant aucune destination : la destination par défaut est alors choisie. Lorsque l utilisateur tape la commande lp, la requête est mémorisée dans la file d attente correspondant à la destination spécifiée. La mémorisation est autorisée si le robinet contrôlant l accès à la file est ouvert. L administrateur agit sur ce robinet avec les commandes accept et reject. La commande lpstat permet de visualiser le contenu des files d attentes. La commande cancel permet de retirer une requête de sa file d attente. Formation permanente ARS
212 Protocole d impression LP Principes de LP Les requêtes dans les files d attente sont ensuite traitées par le démon lpsched. Celui-ci surveille l état de toutes files d attente et les imprimantes. Lorsqu une imprimante a fini d imprimer, lpsched choisit la requête suivante dans la file, et l envoie sur l imprimante. L impression est autorisée si le robinet contrôlant l accès à une imprimante est ouvert. L administrateur, ou les utilisateurs, peuvent contrôler ce robinet avec les commandes enable et disable. Lorsqu une destination est indisponible, l administrateur peut rerouter une requête ou l ensemble des requêtes situées dans une file d attente dans une autre. Il faut pour cela que le démon soit arrêté. L arrêt du démon lpsched est effectué par lpshut. De manière générale, toute modification sur le système d impression doit se faire lorsque le démon est à l arrêt. L arrêt est brutal : les requêtes en cours d impression sont purement et simplement stoppées. Le redémarrage du démon provoquera à nouveau leur impression depuis le début. Formation permanente ARS Protocole d impression LP Principes de LP Enfin, la commande lpadmin est la boîte à outils de l administrateur. Elle permet de contrôler tous les constituants du système (hors robinets). La commande lp permet de demander l impression d un ou de plusieurs fichiers : lp [-d destination] [-m] [-n nombre] [-o options] [-s] [-t titre] [-w] fichiers Les options sont : Option Signification -d spécifie une imprimante -m envoie un courrier lorsque l impression est finie -n demande l impression de plusieurs copies -o passe des options au script d impression -s n affiche pas l identificateur dans la file d attente -t imprime un titre sur la page d en-tête -w envoie un message lorsque l impression est finie Formation permanente ARS
213 Protocole d impression LP Scripts d impression 51.3 Scripts d impression Lorsque lpsched lance une impression, il appelle en réalité un script shell appelé le script d interface. Ce script, nommé du nom de l imprimante, a pour fonction d imprimer la bannière et le fichier. Il reçoit en paramètres : 1. l identificateur de la requête dans la file d attente ; 2. le nom de l utilisateur qui a formulé la requête ; 3. le titre qu il a éventuellement indiqué ; 4. le nombre de copies à imprimer ; 5. les options éventuellement spécifiées par l option -o de la commande lp ; 6. et enfin une liste de fichiers dans la file d attente. Formation permanente ARS Protocole d impression LP Scripts d impression La sortie standard de ce script est redirigée sur le fichier spécial correspondant à l imprimante, et la sortie d erreur est éventuellement transmise par courrier à l utilisateur. Dans le cas le plus simple, ce script génère une bannière et ne fait qu un cat du fichier sur la sortie standard pour effectuer l impression. Mais des scripts plus évolués permettent de reconnaître automatiquement le type du fichier et l imprimer en conséquence (PostScript, T E X, texte, etc.). Les options peuvent permettre de changer de fonte, de bac papier, de taille de page, etc. L utilisation de tels scripts rend ce système d impression particulièrement souple. Si beaucoup de scripts modèles sont fournis par le constructeur, la possibilité de les modifier et de les adapter est très importante pour utiliser pleinement les imprimantes. Formation permanente ARS
214 Protocole d impression LP Ajout d une imprimante 51.4 Ajout d une imprimante Lors de l ajout d une imprimante, il faut : avoir le bon cable (parallèle, série ou autre) ; créer le fichier spécial correspondant à l interface ; rendre lp propriétaire du fichier spécial ; changer les droits du fichier spécial pour que personne ne puisse y accéder autrement que par lp ; récapituler les paramètres de connexion (caractéristiques de la liaison) ; identifier le type de l imprimante et choisir en conséquence un script modèle s en approchant. Les scripts modèle sont en principe dans le répertoire : /usr/spool/lp/model. choisir un nom pour l imprimante ; vérifier que le démon lpsched ne tourne pas et l arrêter éventuellement avec lpshut. Formation permanente ARS Protocole d impression LP Ajout d une imprimante Une fois cela fait, la commande lpadmin peut être appelée pour créer l imprimante : lpadmin -pnom-de-l imprimante -mscript -vfichier-spécial La commande lpadmin est délicate sur les options et leur paramètre : les paramètres doivent être collés aux options. Par exemple : -pimp et non -p imp. l option -p spécifie le nom de l imprimante ; l option -m spécifie le nom du script modèle qui sera utilisé comme script d interface. Le script modèle doit obligatoirement résider dans le répertoire des scripts modèles ; l option -v spécifie le fichier spécial dans /dev ; Formation permanente ARS
215 Protocole d impression LP Ajout d une imprimante Cette commande place le script modèle dans le répertoire des scripts d interface (répertoire /usr/spool/lp/interface). Une fois ce script installé, il est possible, par le biais de la commande stty, de modifier les paramètres de connexion s il s agit d une liaison série. Par exemple : lpadmin -pps -mpostscript -v/dev/ps Formation permanente ARS Protocole d impression LP Ajout d une imprimante Une fois l imprimante créée, elle peut éventuellement devenir l imprimante par défaut. Pour cela, il faut exécuter : lpadmin -dnom-de-l imprimante Il faut maintenant libérer l accès aux files d attente et à l imprimante. Pour cela, il faut utiliser les commandes : accept nom-de-l imprimante enable nom-de-l imprimante Après avoir redémarré le démon avec la commande lpsched, vous pouvez à présent utiliser votre imprimante. Formation permanente ARS
216 Protocole d impression LP Suppression d une imprimante 51.5 Suppression d une imprimante Le retrait d une imprimante est effectué par la commande : lpadmin -xnom-de-l imprimante Formation permanente ARS Protocole d impression LP Gestion des classes 51.6 Gestion des classes Une imprimante peut être directement créée dans une classe, ou peut être ajoutée a posteriori dans une classe. Pour cela, l option -c doit être spécifiée : création d une imprimante dans une classe : lpadmin -pnom-de-l imprimante -mscript -vfichier-spécial -cnom-de-la-classe intégration d une imprimante existante dans une classe : lpadmin -pnom-de-l imprimante -cnom-de-la-classe Pour supprimer une classe, il suffit d utiliser l option -x comme pour supprimer une imprimante. Formation permanente ARS
217 Protocole d impression LPD Chapitre 52 : Protocole d impression LPD Les systèmes d origine Berkeley utilise un système plus simple que les systèmes d origine AT&T, mais qui s avère légèrement moins souple et moins puissant à l utilisation. A noter le logiciel LPRng ( Il offre de nombreuses fonctionnalités intéressantes. Formation permanente ARS Protocole d impression LPD Principes 52.1 Principes Les commandes du système d impression sont : Commande Autorisation Description lpr utilisateur place une requête dans la file lprm utilisateur supprime une requête lpq utilisateur liste la file d attente lpc administrateur boîte à outils lpd administrateur le démon proprement dit Formation permanente ARS
218 Protocole d impression LPD Principes Les interactions entre les différents composants du système d impression Berkeley sont résumées dans la figure suivante : lpr lpc enable lpc disable file d attente file d attente lpq lpd imprimante 1 imprimante 3 Formation permanente ARS Protocole d impression LPD Principes Les requêtes sont destinées à des file d attente. Il y a une file d attente par imprimante, et il n y a donc pas de possibilité de grouper des imprimantes comme dans le spouleur AT&T. Il y a trois moyens de spécifier une file d attente, classés par ordre de priorité : 1. avec l option -P ; 2. avec la variable d environnement PRINTER ; 3. en ne nommant aucune destination : la destination par défaut est alors choisie. Lorsque l utilisateur tape la commande lpr, la requête est mémorisée dans la file d attente correspondant à l imprimante spécifiée. La mémorisation est autorisée si le robinet contrôlant l accès à la file est ouvert. L administrateur agit sur ce robinet avec la commande lpc (sous-commande disable). La commande lpq permet de visualiser le contenu des files d attentes. La commande lprm permet de retirer une requête de sa file d attente. Formation permanente ARS
219 Protocole d impression LPD Principes Les requêtes dans la file d attente sont ensuite traitées par le démon lpd. Celui-ci surveille les requêtes distantes et l état des files et des imprimantes. Lorsqu une imprimante a fini d imprimer, lpd choisit la requête suivante dans la file, et l envoie sur l imprimante. Formation permanente ARS Protocole d impression LPD Principes Le fonctionnement du démon est très différent de celui de LP : requêtes réseau lpr lpd file d attente lpd lpd file d attente imprimante 1 imprimante 2 Formation permanente ARS
220 Protocole d impression LPD Principes Le démon lpd est normalement inactif, à l écoute des requêtes venant des programmes lpr locaux ou des démons lpd d autres machines. Lorsqu un utilisateur lance la commande lpr, lpr place la requête dans la file d attente, puis se connecte au démon lpd en lui demandant de surveiller la file d attente spécifiée. Sur cette requête, lpd génère un sous-processus pour imprimer toutes les requêtes de la file d attente. Ce sous-processus ne s arrête que lorsqu il n y a plus aucune requête en attente dans la file spécifiée. Il y a donc un sous-démon par file d attente non vide. Si la file d attente n est pas vide, mais qu aucun démon n est présent, on atteint le même effet que la commande disable avec le spouleur AT&T. La commande lpc est la boîte à outils de l administrateur. Elle permet de contrôler tous les robinets du système. C est une commande interactive qui dispose de sous-commandes. On peut également appeler directement une sous-commande (par exemple : lpc up all). Les différentes sous-commandes sont : Formation permanente ARS Protocole d impression LPD Principes Commande Effets sur... File Démon Autres abort arrêté démons interdits clean nettoyée disable désactivée µ lpr interdit down désactivée arrêté µ lpr interdit enable activée µ lpr autorisé exit termine lpc quit termine lpc restart redémarré start démarré démons autorisés status affiche l état du système stop arrêté démons interdits topq place un processus en tête de file up activée démarré µ lpr autorisé Formation permanente ARS
221 Protocole d impression LPD Fichier /etc/printcap 52.2 Fichier /etc/printcap Le fichier centralisant toutes les définitions d imprimantes est /etc/printcap. Ce fichier contient des champs code=valeur. Par exemple : lp ps postscript PostScript:\ :lp=/dev/ps:sd=/usr/spool/lpd/ps:\ :lf=/usr/spool/lpd/ps/ps-log:\ :mx#0:sf:sb:\ :if=/usr/local/lib/psif: L imprimante par défaut s appelle toujours lp. Formation permanente ARS Protocole d impression LPD Fichier /etc/printcap Les options sont, dans cet exemple : lp=/dev/ps nom du fichier spécial ; sd=/usr/spool/lpd/ps nom du répertoire contenant la file d attente ; lf=/usr/spool/lpd/ps/ps-log nom du fichier contenant les erreurs ; mx#0 pas de limitation de taille des fichiers imprimés ; sf, sb pas de bannière, pas de page de fin ; if=/usr/local/lib/psif filtre d impression pour les fichiers texte ; Formation permanente ARS
222 Protocole d impression LPD Ajout d une imprimante 52.3 Ajout d une imprimante Lors de l ajout d une imprimante, il faut : avoir le bon cable (parallèle, série ou autre) ; créer le fichier spécial correspondant à l interface ; changer les droits du fichier spécial pour que personne ne puisse y accéder autrement que par lpr ; récapituler les paramètres de connexion ; choisir un nom pour l imprimante ; L ensemble des paramètres (y compris les paramètres de connexion, s il s agit d une liaison série) doivent être placés dans le fichier /etc/printcap. Le répertoire correspondant à la file d attente doit être créé manuellement. Son nom doit correspondre au nom installé dans /etc/printcap. Le propriétaire et le groupe doivent être daemon. Les droits doivent être lecture, écriture et exécution pour le propriétaire et le groupe, lecture et exécution pour les autres. Formation permanente ARS Protocole d impression LPD Impression à distance 52.4 Impression à distance La commande lpr permet également d imprimer des fichiers sur des imprimantes distantes. Pour mettre en place une impression à distance, il faut placer les informations suivantes dans le fichier /etc/printcap sur la machine cliente : # # l imprimante qui est sur cendrillon # lp ps postscript PostScript:\ :rm=cendrillon:\ :rp=ps:\ :sd=/usr/spool/lpd/ps: Formation permanente ARS
223 Protocole d impression LPD Impression à distance Les options sont : rm=cendrillon Nom de la machine distante ; rp=ps Nom de l imprimante sur la machine distante ; sd=/usr/spool/lpd/ps il faut un répertoire local, car la machine distante peut ne pas être disponible au moment où l utilisateur local lance la commande lpr. La machine distante, quant à elle, doit autoriser les requêtes d impression. Ceci se fait en mettant le nom de la machine cliente dans un des fichiers : /etc/hosts.equiv /etc/hosts.lpd Formation permanente ARS
224 Mécanisme d impression LPD par la pratique Chapitre 53 : Mécanisme d impression LPD par la pratique Formation permanente ARS Mécanisme d impression LPD par la pratique Constatation : les imprimantes réseau actuelles supportent directement le protocole LPD elles-mêmes. µ on se contentera de relayer les impressions vers ces imprimantes réseau en utilisant le protocole LPD (au besoin, utiliser LPRNG, Formation permanente ARS
225 Mécanisme d impression LPD par la pratique Exemple avec LPD L imprimante a le nom DNS hp.example.com L imprimante sera connue du système d impression sous le nom de queue hp. La définition de la queue d impression LPD se fera dans le fichier /etc/printcap de la façon suivante : hp:\ :lp=:\ :mx#0:\ :rp=raw:\ :rm=hp.example.com:\ :lf=/var/spool/lpd/hp/log:\ :sd=/var/spool/lpd/hp: Formation permanente ARS Mécanisme d impression LPD par la pratique Exemple avec LPRNG L imprimante a le nom DNS hp.example.com L imprimante sera connue du système d impression sous le nom de queue hp. La définition de la queue d impression LPRNG se fera dans le fichier /etc/printcap de la façon suivante : hp: :cm=laserjet HP4050 :[email protected] :sh :mc=0 :mx=0 :ifhp=model=hp4050 :filter=/usr/libexec/filters/ifhp :sd=/var/spool/lpd/%p :lf=/var/spool/lpd/%p/log :af=/var/spool/lpd/%p/acct :server Formation permanente ARS
226 Protocoles réseau Microsoft, SMB Chapitre 54 : Protocoles réseau Microsoft, SMB Les machines sous Windows 3.11, 95, 98, NT, 2000, XP utilisent des protocoles Microsoft pour le partage de fichiers et d imprimantes. Protocole Server Message Block SMB RFC 1001 et RFC 1002 Renommé Common Internet Filesystem CIFS avec la sortie de Windows 2000 Ces protocoles peuvent utiliser comme protocole de transport le protocole IP. On parle de NetBIOS over TCP/IP NBT. Le bon fonctionnement des protocoles Microsoft sous-entend plein de services : un service d annonce un service de nommage un service d authentification un service d autorisation Formation permanente ARS Protocoles réseau Microsoft, SMB Le service de noms garde trace des couples (nom utilisé, adresse IP) et utilise le port TCP 137 et UDP 137. Les requêtes d enregistrement, de recherche, de libération de noms sont envoyés au service de noms dit serveur WINS (Windows Internet Name Servive). Le service des datagrams NetBIOS utilise le port UDP 138. Le service des sessions NetBIOS utilise le port TCP 139. Cf ftp://ftp.microsoft.com/developr/drg/cifs/ Cf Cf Cf Formation permanente ARS
227 Protocoles réseau Microsoft, SMB SAMBA 54.1 SAMBA Version (au 25 janvier 2004) Implémentation sous Unix des protocoles SMB afin de fournir les mêmes fonctionnalités qu un poste Windows (Primary Domain Controller, Backup Domain Controller, serveur WINS, etc.) En pratique sur la machine Unix tournent les démons : serveur de ressources Microsoft, smbd (lancé par smbd -D) serveur de noms NetBIOS, nmbd (lancé par nmbd -D) Fichier de configuration : /quelque-part/smb.conf (en général /etc/smb.conf) Complexe (quelques centaines de variables possibles) Attention : le comportement réseau de Windows peut changer énormément par l application d un service pack Formation permanente ARS Protocoles réseau Microsoft, SMB SAMBA Exemple de base : [global] netbios name = CERISE workgroup = MYGROUP server string = %L unix server (Samba %v) ; encrypt passwords = yes [homes] guest ok = no read only = no A completer... Formation permanente ARS
228 Protocoles réseau Microsoft, SMB SAMBA Affichage depuis Unix des ressources du serveur Samba : % smbclient -L cerise added interface ip= bcast= nmask= Password: Domain=[MYGROUP] OS=[Unix] Server=[Samba 2.2.5] Sharename Type Comment homes Disk IPC$ IPC IPC Service (cerise unix server (Samba 2.2.5)) ADMIN$ Disk IPC Service (cerise unix server (Samba 2.2.5)) besancon Disk Home directory of besancon Server Comment CERISE cerise unix server (Samba 2.2.5) Workgroup Master MYGROUP Formation permanente ARS Protocoles réseau Microsoft, SMB SAMBA Connexion depuis Unix à un share particulier du serveur Samba : % smbclient //cerise/besancon added interface ip= bcast= nmask= Password: Domain=[MYGROUP] OS=[Unix] Server=[Samba 2.2.5] smb: \> dir. D 0 Sat Aug 31 12:09: D 0 Sat Mar 16 20:43: BIBLIOGRAPHIE D 0 Sun Mar 17 11:34: acrorc H 2025 Mon Aug 19 02:03: antiword DH 0 Sat Mar 16 20:50: Maildir D 0 Sun Jul 21 01:09: fetchmailrc R 3270 Thu Aug 1 10:12: notes 1204 Mon May 20 11:32: inputrc- H 85 Sat Aug 31 12:08: blocks of size blocks available smb: \> quit Formation permanente ARS
229 Protocoles réseau Microsoft, SMB Un peu de bibliographie 54.2 Un peu de bibliographie Formation permanente ARS
Administration système UNIX version 8.0
Administration système UNIX version 8.0 Partie 3 2005 2006 Thierry Besançon Philippe Weill Université Pierre et Marie Curie - PARIS 6 Formation Permanente 4, place Jussieu 75252 Paris Cedex 05 web : www.fp.upmc.fr
Chapitre 32 : Authentification des comptes utilisateurs
Authentification des comptes utilisateurs Chapitre 32 : Authentification des comptes utilisateurs Un compte utilisateur : définition de son identification pour le système définition d un environnement
Cours UNIX Network Information Service
Cours UNIX Network Information Service Jean-Claude Bajard IUT - université Montpellier 2 Présentation NIS Network Information Service est un accès à des informations centralisées sur un ou plusieurs serveurs
Table des matières. 2011 Hakim Benameurlaine 1
Table des matières 1 SERVICE NIS... 2 1.1 INTRODUCTION... 2 1.2 FONCTIONNEMENT... 2 1.3 DIFFÉRENTES VERSIONS DE NIS... 3 1.4 PRINCIPE DE NIS... 3 1.5 CONFIGURATION DU SERVEUR NIS... 4 1.5.1 INSTALLATION
Utiliser Améliorer Prêcher. Introduction à LDAP
Introduction à LDAP Introduction à LDAP Sommaire 2 Sommaire Historique rapide Les concepts LDAP et la gestion d identité Démonstration Autre ressources 2 Historique Historique Historique rapide 4 Historique
INSTALLATION ET CONFIGURATION DE OPENLDAP
INSTALLATION ET CONFIGURATION DE OPENLDAP Ce document a pour intérêt de décrire les étapes de l installation et de la configuration de l outil OpenLDAP sous l OS FreeBSD 4.8 Installation et Configuration
Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...
Système d'exploitation Sommaire Introduction...3 Objectif...3 Manipulations...3 Gestion des utilisateurs et des groupes...4 Introduction...4 Les fichiers de base...4 Quelques commandes d'administration...5
INFO-F-309 Administration des Systèmes. TP7: NFS et NIS. Sébastien Collette ([email protected]) Résumé
INFO-F-309 Administration des Systèmes TP7: NFS et NIS Sébastien Collette ([email protected]) Résumé L objectif de ce TP est de vous familiariser avec NFS et NIS, deux services standards sous
1 Configuration réseau des PC de la salle TP
TP Installation/Configuration des services NIS et NFS sur serveur GNU/Linux Nom : Prénom : Date : Numéro : Objectifs : Installer un serveur NFS et NIS sur un PC GNU/Linux (Mandriva). Visiter les principaux
OpenLDAP, un outil d administration Réseau. Une implémentation d OpenLDAP
OpenLDAP, un outil d administration Réseau Une implémentation d OpenLDAP INRA de Rennes UMR-118 Amélioration des Plantes et Biotechnologies Végétales Présentation : Lightweight Directory Access Protocol
http://www.ed-diamond.com
Ceci est un extrait électronique d'une publication de Diamond Editions : http://www.ed-diamond.com Ce fichier ne peut être distribué que sur le CDROM offert accompagnant le numéro 100 de GNU/Linux Magazine
TP : Introduction à TCP/IP sous UNIX
1 Introduction TP : Introduction à TCP/IP sous UNIX Le but de cette séance est de vous familiariser au fonctionnement de la pile TCP/IP sous UNIX. Les systèmes UNIX (Linux, FreeBSD, Solaris, HPUX,...)
TP administration système
Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A TP administration système Le but de ce TP est de vous faire comprendre : La gestion des comptes utilisateurs en réseau
L annuaire et le Service DNS
L annuaire et le Service DNS Rappel concernant la solution des noms Un nom d hôte est un alias assigné à un ordinateur. Pour l identifier dans un réseau TCP/IP, ce nom peut être différent du nom NETBIOS.
Administration et Architectures des Systèmes
Administration et Architectures des Systèmes LEGOND-AUBRY Fabrice [email protected] Module AAS Services Réseaux 1 Section Les services réseaux Les services réseaux Module AAS Services Réseaux
Le Linux NIS(YP)/NYS/NIS+ HOWTO
Le Linux NIS(YP)/NYS/NIS+ HOWTO Thorsten Kukuk Version 0.12, 12 Juin 1998 Ce document décrit la façon de configurer Linux en client de NIS(YP) ou de NIS+, et la façon d installer un serveur NIS. Contents
NFS Maestro 8.0. Nouvelles fonctionnalités
NFS Maestro 8.0 Nouvelles fonctionnalités Copyright Hummingbird 2002 Page 1 of 10 Sommaire Sommaire... 2 Généralités... 3 Conformité à la section 508 de la Rehabilitation Act des Etats-Unis... 3 Certification
Authentification des utilisateurs avec OpenLDAP
Authentification des utilisateurs avec OpenLDAP Ce tutoriel développe la mise en place d'un contrôleur de Domaine Principal (PDC) avec authentification POSIX uniquement. La racine principale de l'annuaire
Installer un domaine NIS
Installer un domaine NIS Olivier Hoarau ([email protected]) V1.8 26 décembre 2009 1Historique...2 2Préambule...2 3Introduction...3 4Présentation...3 5Installation et configuration du serveur...5
Couche application. La couche application est la plus élevée du modèle de référence.
Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application
Groupe Eyrolles, 2004 ISBN : 2-212-11504-0
Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure
Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)
Introduction 1. Introduction 13 2. Le choix de l'ouvrage : Open Source et Linux Ubuntu 13 2.1 Structure du livre 13 2.2 Pré-requis ou niveau de connaissances préalables 13 3. L'objectif : la constitution
Serveurs de noms Protocoles HTTP et FTP
Nils Schaefer Théorie des réseaux (EC3a) Serveurs de noms Protocoles HTTP et FTP Théorie des réseaux (EC3a) Séance 7 Pourquoi DNS? Internet est une structure hiérarchique et arborescente de réseaux et
DNS. Olivier Aubert 1/27
DNS Olivier Aubert 1/27 Liens http://www.dns.net/dnsrd/ DNS Resource Directory http://www.isc.org/products/bind/ Internet Software Consortium - Berkeley Internet Name Domain http://www.nic.fr/guides/dns-intro
Conférence technique sur Samba (samedi 6 avril 2006)
Conférence technique sur Samba (samedi 6 avril 2006) Windows dansera la Samba... http://linux azur.org/wiki/wakka.php?wiki=samba Plan Historique de Samba Protocoles SMB/CIFS Installation Serveurs Samba
Étude de l application DNS (Domain Name System)
Étude de l application DNS (Domain Name System) RICM 4 - Option Réseaux Pascal Sicard Introduction Le but de ce TP est de comprendre l utilisation et le fonctionnement de l application réseau DNS (Domain
M1101a Cours 4. Réseaux IP, Travail à distance. Département Informatique IUT2, UPMF 2014/2015
M1101a Cours 4 Réseaux IP, Travail à distance Département Informatique IUT2, UPMF 2014/2015 Département Informatique (IUT2, UPMF) M1101a Cours 4 2014/2015 1 / 45 Plan du cours 1 Introduction 2 Environnement
Résolution de noms. Résolution de noms
cb (C:\Documents and Settings\bcousin\Mes documents\enseignement\res (UE18)\12.DNS.fm- 25 janvier 2009 13:15) PLAN Introduction Noms des domaines de noms Principe de la résolution de noms La résolution
LDAP : pour quels besoins?
LDAP : pour quels besoins? Authentification centralisée (même identifiant/mot de passe pour l'accès à différents services) : POP(S), IMAP(S), SMTPS SSO-CAS (Portail Intranet...) Accès à d'autres sites
PARAMETRER SAMBA 2.2
PARAMETRER SAMBA 2.2 Configurations requises : Mandrake Linux 9.2 avec Samba 2.2.8 installé (poste avec une IP statique), nommé MDK92, connexion en tant que root. Postes clients Windows 2000 Pro / XP (avec
Administration UNIX. Le réseau
Administration UNIX Le réseau Plan Un peu de TCP/IP Configuration réseau sous linux DHCP Démarrage PXE TCP/IP Unix utilise comme modèle de communication TCP/IP Application Transport TCP - UDP Réseau IP
Environnements informatiques
Environnements informatiques Premiers pas sous Linux (seconde partie) 26 septembre 2008 [email protected] 1 /12 Administration sous Linux 2 /12 Démarrage Démarrage de Linux Niveaux de démarrage
Evidian IAM Suite 8.0 Identity Management
Evidian IAM Suite 8.0 Identity Management Un livre blanc Evidian Summary Evidian ID synchronization. Evidian User Provisioning. 2013 Evidian Les informations contenues dans ce document reflètent l'opinion
Active Directory. Structure et usage
Active Directory Structure et usage Michel CHABANNE Ecole Polytechnique/DSI/RVDS Octobre 2005 Active Directory? Une implémentation de service LDAP pour une utilisation dans les environnements Windows Présenté
Méta-annuaire LDAP-NIS-Active Directory
Auteur : Michel LASTES Co-auteur Bernard MÉRIENNE Date: 15 octobre 03 Méta-annuaire LDAP-NIS-Active Directory LIMSI (Laboratoire d Informatique pour la Mécanique et les Sciences de l Ingénieur) Bât 508
Aide-Mémoire unix. 9 février 2009
Aide-Mémoire unix Nicolas Kielbasiewicz 9 février 2009 Le système d exploitation unix est de plus en plus présent aujourd hui. Comme tous les projets Open Source, on le trouve sous différentes formes :
LDAP et carnet d'adresses mail
LDAP et carnet d'adresses mail I)Installation Open-LDAP v1 (Conf dans l'annuaire LDAP, cn=config) apt-get install slapd ldap-utils 1)Suppression de la base par défaut rm /etc/ldap/slapd.d/cn\=config/olcdatabase={1}hdb.ldif
et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion
et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion Copyright 2009 Alt-N Technologies. 3 allée de la Crabette Sommaire Résumé... 3 MDaemon
Mise en place d annuaires LDAP et utilisation dans plusieurs applications
Mise en place d annuaires LDAP et utilisation dans plusieurs applications Vincent Mathieu, vmathieu{nomine}@univ-nancy2.fr Brigitte Nominé Centre de Ressources Informatiques, Université Nancy 2 CO 75-54037
Administration Système
1/161 Administration Système Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny
COMMUNICATION TECHNIQUE N TCV060 Ed. 01. OmniVista 4760 Nb de pages : 18 Date : 12-07-2005 URGENTE NON URGENTE TEMPORAIRE DEFINITIVE
COMMUNICATION TECHNIQUE N TCV060 Ed. 01 OmniVista 4760 Nb de pages : 18 Date : 12-07-2005 URGENTE NON URGENTE TEMPORAIRE DEFINITIVE OBJET : GESTION ANNUAIRE Veuillez trouver ci-après une documentation
Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT
Commandes Linux Gestion des fichiers et des répertoires Lister les fichiers Lister les fichiers cachés Lister les répertoires d un répertoire Lister les fichiers par date Les droits Types de fichier Supprimer
Annuaire LDAP, SSO-CAS, ESUP Portail...
Annuaire LDAP, SSO-CAS, ESUP Portail... Patrick DECLERCQ CRI Lille 1 Octobre 2006 Plan Annuaire LDAP : - Présentation - Recommandations (SUPANN) - Architecture - Alimentation, mises à jour - Consultation
Installation Windows 2000 Server
Installation Windows 2000 Server 1. Objectif Ce document donne une démarche pour l installation d un serveur Windows 2000, d un serveur DNS et d un contrôleur de domaine (DC), en regard de certains éléments
OpenLDAP. Astuces pour en faire l'annuaire d'entreprise idéal THÈME TECHNIQUE - ADMINISTRATION SYSTÈME. Jonathan CLARKE - jcl@normation.
THÈME TECHNIQUE - ADMINISTRATION SYSTÈME OpenLDAP Astuces pour en faire l'annuaire d'entreprise idéal Jonathan CLARKE - jcl@ Normation CC-BY-SA Qui suis-je? Jonathan Clarke Job : Co-fondateur et directeur
L3 informatique Réseaux : Configuration d une interface réseau
L3 informatique Réseaux : Configuration d une interface réseau Sovanna Tan Septembre 2009 Révision septembre 2012 1/23 Sovanna Tan Configuration d une interface réseau Plan 1 Introduction aux réseaux 2
SSH, le shell sécurisé
, le shell sécurisé Objectifs : 1. Présenter le protocole et les outils associés Sébastien JEAN Pourquoi 1/2? Les services standards ne supportent que peu de propriétés de sécurité souvent l identification,
Déploiement de (Open)LDAP
L O 5 1 : A d m i n i s t a t i o n S y s t è m e Déploiement de (Open)LDAP Stéphane GALLAND Printemps 2007 [email protected] D é p l o i e m e n t Déployer un service d'annuaire LDAP, c'est rélféchir
Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre 2010 http://www.loligrub.be
Linux et le Shell Francois BAYART Atelier du samedi 20 Novembre 2010 http://www.loligrub.be 1 Le «système» 2 FHS http://fr.wikipedia.org/wiki/filesystem_hierarchy_standard Filesystem Hierarchy Standard
Ce TP consiste à installer, configurer et tester un serveur DNS sous Linux. Serveur open source : bind9 Distribution : Mandriva
DNS (DOMAIN NAME SERVER) INSTALLATION ET CONFIGURATION Ce TP consiste à installer, configurer et tester un serveur DNS sous Linux. Serveur open source : bind9 Distribution : Mandriva Objectifs : L objectif
Administration Linux - FTP
Administration Linux - FTP 2014 tv - v.1.0 - produit le 25 mars 2014 Sommaire Mise en situation 2 FTP (File Transfer Protocol) 2 vsftpd 2 Introduction..............................................
LINUX REDHAT, SERVICES RÉSEAUX/INTERNET
LINUX REDHAT, SERVICES RÉSEAUX/INTERNET Réf: LIH Durée : 4 jours (7 heures) OBJECTIFS DE LA FORMATION Ce cours pratique vous permettra de maîtriser le fonctionnement des services réseaux sous Linux RedHat.
Authentification des utilisateurs avec OpenLDAP et Samba 3.0
Authentification des utilisateurs avec OpenLDAP et Samba 3.0 Ce tutoriel développe la mise en place d'un contrôleur de Domaine Principal (PDC) couplet avec un contrôleur de Domaine de Replication (BDC)
Domain Name System. F. Nolot
Domain Name System F. Nolot 1 Domain Name System Principe F. Nolot 2 Les besoins Internet est composé de plusieurs réseaux Chaque réseau est composé de sous réseaux Les sous réseaux sont constitués de
ASRb/Unix Avancé II. Chapitre 2. Utilitaires réseaux. Arnaud Clérentin, IUT d Amiens, département Informatique
ASRb/Unix Avancé II Chapitre 2 Utilitaires réseaux Arnaud Clérentin, IUT d Amiens, département Informatique Sommaire 1- Connexion au réseau 2- Connexion distante 3- Transfert de fichier distant 1. et 2.
Administration Système
1/169 Administration Système Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny
Services Réseaux - Couche Application. TODARO Cédric
Services Réseaux - Couche Application TODARO Cédric 1 TABLE DES MATIÈRES Table des matières 1 Protocoles de gestion de réseaux 3 1.1 DHCP (port 67/68)....................................... 3 1.2 DNS (port
Département R&T, GRENOBLE TCP / IP 2007-2008
Département R&T, GRENOBLE TCP / IP 2007-2008 ASTUCE Vérifiez que les messages du système sont bien envoyés sur la console 5. Pour rappel, fichier /etc/inittab. 5 :2345 :respawn:/usr/bin/tail f /var/log/messages
Table des matières. 1. Installation de VMware ESXI 4... 3. 1.1. Pré-requis... 3. 1.2. Installation... 3
Table des matières 1. Installation de VMware ESXI 4.... 3 1.1. Pré-requis... 3 1.2. Installation... 3 1.2.1. Panneau de configuration du serveur ESXI... 4 1.2.2. Configuration du mot de passe «Root»....
Domaine Name System. Auteur: Congduc Pham, Université Lyon 1. Figure 1: Schéma des salles TP11 et TD4
TP de Réseaux IP pour DESS Domaine Name System Auteur: Congduc Pham, Université Lyon 1 1 Schéma de départ Figure 1: Schéma des salles TP11 et TD4 Le schéma de départ pour aujourd hui est celui de la figure
Authentification unifiée Unix/Windows
Rencontres Mathrice - Octobre 2008 Plan Contexte du laboratoire 1 Contexte du laboratoire 2 3 4 Le laboratoire Contexte du laboratoire Laboratoire de Mathématiques et Applications Unité mixte de recherche
Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014
Mise en place d un service FTP sous Linux Bouron Dimitri 20/04/2014 Ce document sert de démonstration concise pour l installation, la configuration, la sécurisation, d un serveur FTP sous Linux utilisant
Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre [email protected]
Cours Linux Cours en ligne Administrateur Systèmes Linux Académie Libre [email protected] Programme général du cours Linux MODULE 1 - Fondamentaux Introduction à Linux La procédure de Login et Logout
Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch
Bernard Boutherin Benoit Delaunay Cahiers de l Admin Linux Sécuriser un réseau 3 e édition Collection dirigée par Nat Makarévitch Groupe Eyrolles, 2003, 2004, 2007, ISBN : 2-212-11960-7, ISBN 13 : 978-2-212-11960-2
Quelques protocoles et outils réseaux
Quelques protocoles et outils réseaux 1 Adresses MAC et IP ifconfig Chaque point de connexion d un réseau est identifié par une adresse MAC (physique) et une adresse IP (logique). Pour l adresse MAC, il
Client Debian Squeeze et serveur SambaEdu3
Client Debian Squeeze et serveur SambaEdu3 INTRODUCTION... 1 1. CONFIGURATION DU SERVEUR SAMBAEDU3... 1 2. CONFIGURATION DU CLIENT DEBIAN SQUEEZE... 2 A.CONFIGURATION DE L'AUTHENTIFICATION... 2 B.CONFIGURATION
Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP
Résolution d adresses et autoconfiguration Les protocoles ARP, RARP, TFTP, BOOTP, DHCP Le protocole ARP (Address Resolution Protocol) Se trouve au niveau de la couche réseau Interrogé par le protocole
LINUX - ADMINISTRATION PROGRAMME DE FORMATION
LINUX - ADMINISTRATION Objectifs : Cette formation a pour objectif de vous apprendre les éléments de base de l'administration en commençant par un rappel des commandes de bases et l'apprentissage de la
Introduction. Adresses
Architecture TCP/IP Introduction ITC7-2: Cours IP ESIREM Infotronique Olivier Togni, LE2I (038039)3887 [email protected] 27 février 2008 L Internet est basé sur l architecture TCP/IP du nom
Administration réseau Résolution de noms et attribution d adresses IP
Administration réseau Résolution de noms et attribution d adresses IP A. Guermouche A. Guermouche Cours 9 : DNS & DHCP 1 Plan 1. DNS Introduction Fonctionnement DNS & Linux/UNIX 2. DHCP Introduction Le
Installer un domaine DNS
Installer un domaine DNS Olivier Hoarau ([email protected]) V1.2 du 3.12.00 1 Historique... 2 2 Préambule... 2 3 Présentation... 2 4 Installation et configuration... 3 5 Lancement automatique de
Jeudis du libre, Samba ou comment donner le rythme aux stations Windows
Jeudis du libre, Samba ou comment donner le rythme aux stations Windows Qui suis-je? Philip Richardson Sysadmin à Bruxelles Formation Formateur occasionnel Membre du BxLUG (http://www.bxlug.be) A été RHCE
Le projet d'annuaire LDAP à Rennes 1. - Raymond Bourges - Gérard Delpeuch
Le projet d'annuaire LDAP à Rennes 1 - Raymond Bourges - Gérard Delpeuch Les besoins De plus en plus d'outils informatiques sont utilisés à l'université Leur accès est souvent lié à une validation de la
I. Présentation du serveur Samba
Introduction D un point de vue général, un contrôleur de domaine est grand chef sur un réseau. C'est le serveur auquel tous les clients se réfèrent pour les authentifications d'utilisateurs, de machines,...
OpenLDAP, un outil d administration réseau. (Implémentation d openldap à l INRA de Rennes)
OpenLDAP, un outil d administration réseau. (Implémentation d openldap à l INRA de Rennes) Gilles LASSALLE Unité Mixte de Recherche d Amélioration des Plantes et Biotechnologies Végétales Domaine de la
B1-4 Administration de réseaux
B1-4 Administration de réseaux Domain Name System (DNS) École nationale supérieure de techniques avancées B1-4 Administration de réseaux 1 / 29 Principe Chaque machine d un réseau IP est repérée par une
Service FTP. Stéphane Gill. [email protected]. Introduction 2
Stéphane Gill [email protected] Table des matières Introduction 2 Protocole ftp 2 Utilisation du client ftp 2 Installer un serveur vsftp 4 Configurer le service ftp 5 Le fichier /etc/services
Outils Logiciels Libres
LP ASRALL Outils Logiciels Libres LDAP, CMS et Haute Disponibilitée Auteurs : Rémi Jachniewicz, Julien Lacava, Gatien Gaspard, Romain Gegout, Benoit Henryon 17 mars 2009 Table des matières 1 Ldap 3 1.1
Administration Système & Réseau. Domain Name System Historique & Concepts Fonctionnalités & Hiérarchie Requêtes & Base de donnée DNS
1/25 Administration Système & Réseau Domain Name System Historique & Concepts Fonctionnalités & Hiérarchie Requêtes & Base de donnée DNS Dynamic Host Configuration Protocol L3 STRI 2005 Philippe Latu philippe.latu(at)linux-france.org
Chapitre IX : Virtualisation
Chapitre IX : Virtualisation Eric Leclercq & Marinette Savonnet Département IEM http://ufrsciencestech.u-bourgogne.fr http://ludique.u-bourgogne.fr/~leclercq 5 mai 2011 1 Principes Problématique Typologie
LINUX Préparation à la certification LPIC-3 (examen LPI 300) - 2ième édition
Avant-propos A. Introduction 18 B. Les objectifs 18 C. Contenu du livre 19 Chapitre 1 Les annuaires X.500 et le protocole LDAP A. Généralités sur les annuaires 24 1. Définition des annuaires 24 2. Qu'est-ce
Table des matières Nouveau Plan d adressage... 3
Table des matières Nouveau Plan d adressage... 3 Phase 1 : CONFIGURATION DES MATERIELS ACTIFS D INTERCONNEXION... 5 ROUTAGE INTER-VLAN... 5 MISE EN PLACE DU VTP... 6 CONFIGURATION DES PROTOCOLES SSH/TELNET...
RTN / EC2LT Réseaux et Techniques Numériques. Ecole Centrale des Logiciels Libres et de Télécommunications
RTN / EC2LT Réseaux et Techniques Numériques Ecole Centrale des Logiciels Libres et de Télécommunications Mise en place d'un Contrôleur de Domaine dans un milieu hétérogène avec SAMBA couplé à LDAP Domaine
Protocoles DHCP et DNS
Protocoles DHCP et DNS DHCP (Dynamic Host Configuration Protocol) est un protocole qui permet à un serveur DHCP (Unix, Windows, AS400...) d'affecter des adresses IP temporaires (et d'autres paramètres)
Sécurité des systèmes d exploitation
Sécurité des systèmes d exploitation Jean-Marc Robert Génie logiciel et des TI Plan de la présentation Systèmes d exploitation Microsoft XP, Vista, 7, Unix/Linux MAC Conclusion Jean-Marc Robert, ETS Sécurité
DUT. Vacataire : Alain Vidal - [email protected]
DUT Vacataire : Alain Vidal - [email protected] Chapitre 1 Introduction sur les annuaires o Les défis et les avantages métier Chapitre 2 Gestion des identités et des accès TP1 - Installation d'un annuaire
1 Démarrage de Marionnet
Institut Galilée Administration Système Année 2011-2012 INFO 2ème année Master Info 1 Master Image & Réseau 1 T.P. 1 Administration Système Le logiciel Marionnet (www.marionnet.org) offre la possibilité
LINUX REMPLAÇANT WINDOWS NT
189 Cette installation fonctionne chez moi à Veyre. Vous pouvez consulter et télécharger les fichiers à : http://perso.wanadoo.fr/gerard.blanchet/ veyre/ Mais c'est tout à fait adapté à un établissement
Couplage openldap-samba
Couplage openldap-samba Groupe de travail SARI Animateur du groupe : Bernard MAIRE-AMIOT (CRTBT) Participants Françoise BERTHOUD (LPMMC) François BOUHET (MSH-ALPES) Guy BOURREL (TIMC) Xavier CHAUD (CRETA)
Résolution de noms. Résolution de noms
cb (Z:\Polys\Internet de base\12.dns.fm- 29 mars 2011 14:58) PLAN Introduction Noms des domaines de noms Principe de la résolution de noms Conclusion Bibliographie A. Fenyo, F. LeGuern, S. Tardieu, Se
Unix/Linux I. 1 ere année DUT. Université marne la vallée
Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins
Préparation LPI. Exam 102. 110. Securité. Document sous licence Creative commons «by nc sa» http://creativecommons.org/licenses/by nc sa/2.
Préparation LPI Exam 102 110. Securité Document sous licence Creative commons «by nc sa» http://creativecommons.org/licenses/by nc sa/2.0/fr/ inetd et xinetd Configuration SSH GPG Sommaire UPMC - FP Préparation
INFO-F-404 : Techniques avancées de systèmes d exploitation
Nikita Veshchikov e-mail : [email protected] téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table
But de cette présentation. Contrôleur de domaine avec Samba (rédigé pour Ubuntu Server) Introduction. Samba: principes
But de cette présentation Contrôleur de domaine avec Samba (rédigé pour Ubuntu Server) Vous faire découvrir le modèle client-serveur et la création d un contrôleur de domaine sous Linux Ce sont des aspects
Institut Universitaire de Technologie
Institut Universitaire de Technologie Nice-Côte d'azur Département Réseaux et Télécommunications Année 2008-2009 Licence Pro IRM U4 But du TP Travaux Pratiques Configuration et utilisation d'un système
Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication
Chapitre VII : Principes des réseaux Structure des réseaux Types de réseaux La communication Les protocoles de communication Introduction Un système réparti est une collection de processeurs (ou machines)
Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP.
Le système de transfert de fichiers d'internet Bernard Cousin Université de Rennes I laboratoire IRISA http://www.univ-rennes1.fr/ Plan Introduction aux systèmes de transfert de fichiers Le protocole FTP
Installation. du serveur SCRIBE virtuel d'amonecole
Installation 11/05/2010 du serveur SCRIBE virtuel d'amonecole pour les écoles de Charente Préalable : Installation d'un serveur amonécole déjà effectué Voici les paramètres du réseau à prendre en compte
Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?
Avant-propos... V CHAPITRE 1 Scripting Windows, pour quoi faire?... 1 Dans quel contexte?.................................................. 1 La mauvaise réputation............................................
