Gestion des comptes utilisateurs

Dimension: px
Commencer à balayer dès la page:

Download "Gestion des comptes utilisateurs"

Transcription

1 Administration de systèmes UNIX Thierry Besançon Formation Permanente de l Université de Paris 6 Formation ARS Tôme 3 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 1 / Gestion des comptes utilisateurs Chapitre 1 Gestion des comptes utilisateurs c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 2 / 435

2 1 Gestion des comptes utilisateurs 1.1 Introduction Chapitre 1 Gestion des comptes utilisateurs 1.1 Introduction Humour : c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 3 / 435 Humour : 1 Gestion des comptes utilisateurs 1.1 Introduction c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 4 / 435

3 1 Gestion des comptes utilisateurs 1.1 Introduction 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 5 / Gestion des comptes utilisateurs 1.2 Le fichier /etc/passwd Chapitre 1 Gestion des comptes utilisateurs 1.2 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... c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 6 / 435

4 1 Gestion des comptes utilisateurs 1.3 Format du fichier /etc/passwd, <pwd.h> Chapitre 1 Gestion des comptes utilisateurs 1.3 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. */ }; c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 7 / Gestion des comptes utilisateurs 1.3 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 8 / 435

5 1 Gestion des comptes utilisateurs 1.3 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 9 / Gestion des comptes utilisateurs 1.3 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». c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 10 / 435

6 1 Gestion des comptes utilisateurs 1.3 Format du fichier /etc/passwd, <pwd.h> Quelques constatations : les UIDs ne sont pas nécessairement consécutifs ; il peut y avoir des trous dans la numérotation une ligne dans «/etc/passwd» n implique pas que le homedirectory existe ; on peut avoir un utilisateur défini sans que son homedir existe des fichiers peuvent appartenir à un UID qui n est pas utilisé dans «/etc/passwd» on peut avoir plusieurs utilisateurs définis ayant tous le même UID ; au niveau de la commande «ps», c est le premier nom de login du fichier qui apparaitra. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 11 / Gestion des comptes utilisateurs 1.3 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 12 / 435

7 1 Gestion des comptes utilisateurs 1.4 Chiffrement des mots de passe : crypt() Chapitre 1 Gestion des comptes utilisateurs 1.4 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 appelé hash (le mot de passe chiffré est dit hashed). c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 13 / Gestion des comptes utilisateurs 1.4 Chiffrement des mots de passe : crypt() Le chiffrement DES est 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 14 / 435

8 1 Gestion des comptes utilisateurs 1.4 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])); } Compiler sur LINUX par : % gcc crypt.c -o crypt.exe -lcrypt Une fois compilé, le programme montre : %./textcrypt NU Chaine a chiffrer : XXXXXXXX => NUMVcLVD/dM12 <-- QWERTY pour l exemple c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 15 / Gestion des comptes utilisateurs 1.5 Cycle du mot de passe et commande passwd Chapitre 1 Gestion des comptes utilisateurs 1.5 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) c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 16 / 435

9 1 Gestion des comptes utilisateurs 1.5 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 17 / Gestion des comptes utilisateurs 1.5 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 18 / 435

10 1 Gestion des comptes utilisateurs 1.5 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 19 / Gestion des comptes utilisateurs 1.6 Cycle du mot de passe et commande login Chapitre 1 Gestion des comptes utilisateurs 1.6 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 20 / 435

11 1 Gestion des comptes utilisateurs 1.6 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 21 / Gestion des comptes utilisateurs 1.7 Shadow passwords, /etc/shadow, <shadow.h> Chapitre 1 Gestion des comptes utilisateurs 1.7 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 22 / 435

12 Exemple sur LINUX 1 Gestion des comptes utilisateurs 1.7 Shadow passwords, /etc/shadow, <shadow.h> -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:::... c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 23 / 435 Exemple sur SOLARIS 1 Gestion des comptes utilisateurs 1.7 Shadow passwords, /etc/shadow, <shadow.h> -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::::::... c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 24 / 435

13 1 Gestion des comptes utilisateurs 1.8 Le fichier /etc/group, <grp.h> Chapitre 1 Gestion des comptes utilisateurs 1.8 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. */ }; c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 25 / Gestion des comptes utilisateurs 1.8 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 26 / 435

14 1 Gestion des comptes utilisateurs 1.9 Création d un nouveau compte : useradd, adduser, groupadd, addgroup Chapitre 1 Gestion des comptes utilisateurs 1.9 Création d un nouveau compte : useradd, adduser, groupadd, addgroup 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 27 / Gestion des comptes utilisateurs 1.9 Création d un nouveau compte : useradd, adduser, groupadd, addgroup 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? c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 28 / 435

15 1 Gestion des comptes utilisateurs 1.9 Création d un nouveau compte : useradd, adduser, groupadd, addgroup 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 29 / Gestion des comptes utilisateurs 1.9 Création d un nouveau compte : useradd, adduser, groupadd, addgroup 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 (accès concurrents, ne pas perdre le contenu du fichier,...). c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 30 / 435

16 1 Gestion des comptes utilisateurs 1.10 Compte root Chapitre 1 Gestion des comptes utilisateurs 1.10 Compte root «root» est le nom du login Unix de l administrateur. NE PAS ESSAYER DE LE CHANGER! : codé profondément dans tous les programmes Unix Le shell de «root» a traditionnellement pour prompt «#» (voir variable d environnement «PS1»). c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 31 / Gestion des comptes utilisateurs 1.10 Compte root Déconseillé de travailler en permanence sous le nom de «root». Cf fond d écran de «root» sous LINUX Mandrake : c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 32 / 435

17 1 Gestion des comptes utilisateurs 1.10 Compte root UID de «root» == 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 «.totorc»). Sur LINUX/FREEBSD, le répertoire de root est «/root» c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 33 / Gestion des comptes utilisateurs 1.11 Comptes fictifs système Chapitre 1 Gestion des comptes utilisateurs 1.11 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... c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 34 / 435

18 1 Gestion des comptes utilisateurs 1.11 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». c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 35 / Gestion des comptes utilisateurs 1.12 Commande id Chapitre 1 Gestion des comptes utilisateurs 1.12 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) c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 36 / 435

19 1 Gestion des comptes utilisateurs 1.13 Commande groups Chapitre 1 Gestion des comptes utilisateurs 1.13 Commande groups (en anglais groups) Syntaxe : «groups [user]» La commande «groups» renvoie les GID d appartenance de l utilisateur. % groups adm root sys daemon www c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 37 / Gestion des comptes utilisateurs 1.14 Commande su Chapitre 1 Gestion des comptes utilisateurs 1.14 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». c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 38 / 435

20 1 Gestion des comptes utilisateurs 1.14 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 asterix Password: XXXXXXXX % id uid=8520(asterix) gid=8506(gaulois) groups=8506(gaulois) c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 39 / Gestion des comptes utilisateurs 1.14 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! c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 40 / 435

21 1 Gestion des comptes utilisateurs 1.14 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 41 / Gestion des comptes utilisateurs 1.14 Commande su Pour devenir root Pour devenir root, la commande est : % su - root ce qui peut se simplifier encore en : % su - c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 42 / 435

22 1 Gestion des comptes utilisateurs 1.15 Commande su (2) Chapitre 1 Gestion des comptes utilisateurs 1.15 Commande su (2) Problèmatiques : lancer au boot une commande au nom d un autre utilisateur (serveur web, base de données, etc.) lancer via la crontab de root une commande au nom d un autre utilisateur (serveur web, base de données, etc.) Solution : % su pierre -c commande c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 43 / Gestion des comptes utilisateurs 1.16 Commande sudo Chapitre 1 Gestion des comptes utilisateurs 1.16 Commande sudo Problématiques : déléguer les priviléges de l administrateur à des personnes mais pour quelques opérations seulement impossible d utiliser les bits setuid et setgid avec des shell scripts Une solution : commande «sudo», Fourni de base sur MacOS X. A completer... c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 44 / 435

23 1 Gestion des comptes utilisateurs 1.16 Commande sudo Principe Un fichier de configuration indique qui a le droit de lancer quoi avec les privilèges de l administrateur. Exemple : XXXXX A completer... c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 45 / Gestion des comptes utilisateurs 1.16 Commande sudo Pour permettre à l utilisateur «apache» de lancer le script «update.sh», faire : # chmod u+s update.sh # chown root update.sh % id apache %./update.sh -> id apache Exemple : A completer... XXXXX % id apache % sudo XXXXX c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 46 / 435

24 1 Gestion des comptes utilisateurs 1.16 Commande sudo Sur MacOS X, pas de commande «su». Uniquement la commande «su» : Exemple : # find / -name su -print <-- rien A completer... c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 47 / Gestion des comptes utilisateurs 1.17 Changer le propriétaire d objets : chown Chapitre 1 Gestion des comptes utilisateurs 1.17 Changer le propriétaire d objets : chown (en anglais change owner) Syntaxe : «chown [-Rh] utilisateur objets» Commande réservée à l administrateur car sinon plus aucune protection de la machine : % ls -l -rw-r--r-- 1 besancon adm 49 Nov 23 21:05 cerise % chown root cerise chown: cerise: Not owner c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 48 / 435

25 1 Gestion des comptes utilisateurs 1.17 Changer le propriétaire d objets : chown Très important : % ls -l -rw-r--r-- 1 besancon adm 49 Nov 23 20:54 cerise lrwxrwxrwx 1 besancon adm 6 Nov 23 20:54 fruit -> cerise % su - Password: XXXXXXXX # chown mysql fruit # ls -l total 4 -rw-r--r-- 1 mysql adm 49 Nov 23 20:54 cerise lrwxrwxrwx 1 besancon adm 6 Nov 23 20:54 fruit -> cerise c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 49 / Gestion des comptes utilisateurs 1.17 Changer le propriétaire d objets : chown Options utiles : option «-R» : changement récursif dans une arborescence option «-h» : si l objet est un lien symbolique, alors l option «-h» change le propriétaire du lien et non pas le propriétaire de l objet pointé par le lien : % ls -l -rw-r--r-- 1 besancon adm 49 Nov 23 20:54 cerise lrwxrwxrwx 1 besancon adm 6 Nov 23 20:54 fruit -> cerise % su - Password: XXXXXXXX # chown -h mysql fruit # ls -l total 4 -rw-r--r-- 1 besancon adm 49 Nov 23 20:54 cerise lrwxrwxrwx 1 mysql adm 6 Nov 23 20:54 fruit -> cerise c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 50 / 435

26 1 Gestion des comptes utilisateurs 1.18 Changer le groupe propriétaire d objets : chgrp Chapitre 1 Gestion des comptes utilisateurs 1.18 Changer le groupe propriétaire d objets : chgrp (en anglais change group) Syntaxe : «chgrp [-Rh] utilisateur objets» Fonctionnement identique à celui de «chown». A noter la possibilité de combiner un «chown» avec un «chgrp» : syntaxe 1 : «chgrp [-Rh] utilisateur:groupe objets» syntaxe 2 : «chgrp [-Rh] utilisateur.groupe objets» c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 51 / Gestion des comptes utilisateurs 1.19 Deviner des mots de passe Chapitre 1 Gestion des comptes utilisateurs 1.19 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 à « c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 52 / 435

27 1 Gestion des comptes utilisateurs 1.20 (Windows : : net user) Chapitre 1 Gestion des comptes utilisateurs 1.20 (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} horaire de fonctionnement du compte /USERCOMMENT:"texte" commentaire du compte c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 53 / Gestion des comptes utilisateurs 1.20 (Windows : : net user) c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 54 / 435

28 1 Gestion des comptes utilisateurs 1.21 (Windows : : cusrmgr.exe) Chapitre 1 Gestion des comptes utilisateurs 1.21 (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» c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 55 / Gestion des comptes utilisateurs 1.21 (Windows : : cusrmgr.exe) net user jean sesame /add c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 56 / 435

29 1 Gestion des comptes utilisateurs 1.21 (Windows : : cusrmgr.exe) C:\Program Files\Resource Kit\cusrmgr.exe" -u jean -P "sesame" Le réglage demandé ici est non visible dans la fenêtre... c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 57 / Gestion des comptes utilisateurs 1.21 (Windows : : cusrmgr.exe) c:\program Files\Resource Kit\cusrmgr.exe" -u jean -c "Service Informatique" c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 58 / 435

30 1 Gestion des comptes utilisateurs 1.21 (Windows : : cusrmgr.exe) c:\program Files\Resource Kit\cusrmgr.exe" -u jean -f "Jean DUPONT" c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 59 / Gestion des comptes utilisateurs 1.21 (Windows : : cusrmgr.exe) c:\program Files\Resource Kit\cusrmgr.exe" -u jean +s MustChangePassword c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 60 / 435

31 1 Gestion des comptes utilisateurs 1.21 (Windows : : cusrmgr.exe) L option de changer le mot de passe se traduit ainsi au moment de la connexion initiale : c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 61 / Gestion des comptes utilisateurs 1.21 (Windows : : cusrmgr.exe) c:\program Files\Resource Kit\cusrmgr.exe" -u jean +s CanNotChangePassword c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 62 / 435

32 1 Gestion des comptes utilisateurs 1.21 (Windows : : cusrmgr.exe) c:\program Files\Resource Kit\cusrmgr.exe" -u jean +s PasswordNeverExpires c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 63 / Gestion des comptes utilisateurs 1.21 (Windows : : cusrmgr.exe) c:\program Files\Resource Kit\cusrmgr.exe" -u jean +s AccountDisabled c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 64 / 435

33 1 Gestion des comptes utilisateurs 1.21 (Windows : : cusrmgr.exe) L option de compte expiré se traduit ainsi au moment de la connexion : c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 65 / Gestion des comptes utilisateurs 1.21 (Windows : : cusrmgr.exe) c:\program Files\Resource Kit\cusrmgr.exe" -u jean +s AccountLockout Non visible... c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 66 / 435

34 1 Gestion des comptes utilisateurs 1.22 (Windows : : lusrmgr.msc) Chapitre 1 Gestion des comptes utilisateurs 1.22 (Windows : : lusrmgr.msc) (en anglais local user manager) Gestion graphique des utilisateurs : commande de base «lusrmgr.msc» c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 67 / Gestion des comptes utilisateurs 1.22 (Windows : : lusrmgr.msc) On peut bien sûr voir les propriétés d un compte : c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 68 / 435

35 1 Gestion des comptes utilisateurs 1.23 (Windows : : secpol.msc) Chapitre 1 Gestion des comptes utilisateurs 1.23 (Windows : : secpol.msc) Via l outil de politique de sécurité «secpol.msc, on peut configurer la longueur minimale des mots de passe : c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 69 / Gestion des comptes utilisateurs 1.23 (Windows : : secpol.msc) Via l outil de politique de sécurité «secpol.msc, on peut configurer la complexité des mots de passe : c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 70 / 435

36 1 Gestion des comptes utilisateurs 1.24 Interdiction des logins Chapitre 1 Gestion des comptes utilisateurs 1.24 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 71 / Gestion des comptes utilisateurs 1.25 (Windows : : Interdiction des logins) Chapitre 1 Gestion des comptes utilisateurs 1.25 (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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 72 / 435

37 1 Gestion des comptes utilisateurs 1.26 (Windows : : perte du mot de passe de l administrateur) Chapitre 1 Gestion des comptes utilisateurs 1.26 (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 à graver disponible sur « c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 73 / NIS Chapitre 2 NIS c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 74 / 435

38 Chapitre 2 NIS 2 NIS 2.1 Introduction 2.1 Introduction 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 75 / 435 Chapitre 2 NIS 2 NIS 2.2 Architecture de NIS 2.2 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 76 / 435

39 2 NIS 2.2 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 77 / 435 Chapitre 2 NIS 2 NIS 2.3 Données NIS : maps NIS, DBM, ypcat, ypmatch 2.3 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 78 / 435

40 2 NIS 2.3 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 79 / NIS 2.3 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). c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 80 / 435

41 2 NIS 2.3 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... c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 81 / NIS 2.3 Données NIS : maps NIS, DBM, ypcat, ypmatch 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 82 / 435

42 2 NIS 2.3 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 83 / NIS 2.3 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 84 / 435

43 2 NIS 2.3 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 85 / 435 Chapitre 2 NIS 2 NIS 2.4 Client NIS, domainname, ypbind, ypwhich, ypset 2.4 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 86 / 435

44 2 NIS 2.4 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 87 / NIS 2.4 Client NIS, domainname, ypbind, ypwhich, ypset 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 88 / 435

45 2 NIS 2.4 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é. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 89 / NIS 2.4 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 90 / 435

46 2 NIS 2.4 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é). c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 91 / NIS 2.4 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 92 / 435

47 Chapitre 2 NIS 2 NIS 2.5 Slave server NIS, ypserv, ypxfr 2.5 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 93 / NIS 2.5 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 94 / 435

48 2 NIS 2.5 Slave server NIS, ypserv, ypxfr 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 95 / 435 Chapitre 2 NIS 2 NIS 2.6 Master server NIS, ypxfrd, rpc.yppasswdd, yppasswd 2.6 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 96 / 435

49 2 NIS 2.6 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 97 / NIS 2.6 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 98 / 435

50 Chapitre 2 NIS 2 NIS 2.7 Netgroups 2.7 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme 3 99 / NIS 2.7 Netgroups Exemple de netgroup de machines : nains \ (atchoum.example.com,,mine-de-diamants) \ (dormeur.example.com,,mine-de-diamants) \ (joyeux.example.com,,mine-de-diamants) \ (grincheux.example.com,,mine-de-diamants) \ (prof.example.com,,mine-de-diamants) \ (timide.example.com,,mine-de-diamants) \ (simplet.example.com,,mine-de-diamants) Exemple de netgroup d utilisateurs : etudiants \ (,jean,) \ (,pierre,) \ (,valerie,) c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

51 2 NIS 2.7 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme / NIS 2.7 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=mine-de-diamants c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

52 Chapitre 2 NIS 2 NIS 2.8 Installation de NIS 2.8 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / NIS+ Chapitre 3 NIS+ c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

53 Chapitre 3 NIS+ 3 NIS+ 3.1 Introduction / Conclusion 3.1 Introduction / Conclusion 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / NIS+ 3.1 Introduction / Conclusion 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

54 4 LDAP Chapitre 4 LDAP c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435 Chapitre 4 LDAP 4 LDAP 4.1 Problématique 4.1 Problématique Cas de l université de Paris 4 : base Microsoft Excel du personnel administratif base Microsoft Acces/s 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 Question 1 : 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? Question 2 : 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? c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

55 Chapitre 4 LDAP 4 LDAP 4.2 Principe d annuaire 4.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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / LDAP 4.2 Principe d annuaire 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

56 4 LDAP 4.2 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435 Chapitre 4 LDAP 4 LDAP 4.3 Annuaire LDAP 4.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... c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

57 Chapitre 4 LDAP 4 LDAP 4.4 Modèle de données de LDAP : DIT, suffixe 4.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? DIT à caractère géographique? Pas de solution universelle. c T.Besançon (version 9.0) Administration Unix ARS Tôme / LDAP 4.4 Modèle de données de LDAP : DIT, suffixe 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

58 4 LDAP 4.4 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / LDAP 4.4 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

59 4 LDAP 4.4 Modèle de données de LDAP : DIT, suffixe Exemple de DIT visualisé avec LdapBrowser disponible à l URL : c T.Besançon (version 9.0) Administration Unix ARS Tôme / LDAP 4.5 Modèle de données de LDAP : entrée, attributs, DN, URL Chapitre 4 LDAP 4.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) c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

60 4 LDAP 4.5 Modèle de données de LDAP : entrée, attributs, DN, URL c T.Besançon (version 9.0) Administration Unix ARS Tôme / LDAP 4.5 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 : c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

61 4 LDAP 4.6 Modèle de données de LDAP : schéma, syntaxes, OID, objectclass Chapitre 4 LDAP 4.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) c T.Besançon (version 9.0) Administration Unix ARS Tôme / LDAP 4.6 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). c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

62 4 LDAP 4.6 Modèle de données de LDAP : schéma, syntaxes, OID, objectclass Exemple : 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / LDAP 4.6 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

63 Chapitre 4 LDAP 4 LDAP 4.7 Protocole LDAP / Bind 4.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é. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435 Chapitre 4 LDAP 4 LDAP 4.8 Format de données LDIF 4.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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

64 4 LDAP 4.8 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 UTF-8 puis la coder en BASE64 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! c T.Besançon (version 9.0) Administration Unix ARS Tôme / LDAP 4.8 Format de données LDIF 2 utilitaires pratiques : c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

65 4 LDAP 4.8 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / LDAP 4.8 Format de données LDIF 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= c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

66 Chapitre 4 LDAP 4 LDAP 4.9 Implémentations 4.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? autes annuaires commerciaux... 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435 Chapitre 4 LDAP 4 LDAP 4.10 OpenLDAP 4.10 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

67 4 LDAP 4.10 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435 Chapitre 4 LDAP 4 LDAP 4.11 ObjectClass posixaccount, shadowaccount 4.11 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 ) ) c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

68 Chapitre 4 LDAP 4 LDAP 4.12 Un peu de bibliographie 4.12 Un peu de bibliographie c T.Besançon (version 9.0) Administration Unix ARS Tôme / Sélection de naming services, /etc/nsswitch.conf Chapitre 5 Sélection de naming services, /etc/nsswitch.conf c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

69 5 Sélection de naming services, /etc/nsswitch.conf 5.1 Problématique Chapitre 5 Sélection de naming services, /etc/nsswitch.conf 5.1 Problématique Exemple : il y a les fichiers système («/etc/passwd», «/etc/hosts», «/etc/services»,...) il y a le DNS il y a NIS il y a NIS+ il y a LDAP 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). c T.Besançon (version 9.0) Administration Unix ARS Tôme / Sélection de naming services, /etc/nsswitch.conf 5.2 Syntaxe de /etc/nsswitch.conf Chapitre 5 Sélection de naming services, /etc/nsswitch.conf 5.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

70 5 Sélection de naming services, /etc/nsswitch.conf 5.2 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] c T.Besançon (version 9.0) Administration Unix ARS Tôme / Sélection de naming services, /etc/nsswitch.conf 5.3 Exemple de /etc/nsswitch.conf Chapitre 5 Sélection de naming services, /etc/nsswitch.conf 5.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

71 5 Sélection de naming services, /etc/nsswitch.conf 5.4 A propos de LDAP Chapitre 5 Sélection de naming services, /etc/nsswitch.conf 5.4 A propos de LDAP Pour les systèmes n incorporant pas LDAP en natif dans l OS, se reporter à : « « c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pluggable Authentification Module, PAM Chapitre 6 Pluggable Authentification Module, PAM c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

72 6 Pluggable Authentification Module, PAM 6.1 Problématique Chapitre 6 Pluggable Authentification Module, PAM 6.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??? c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pluggable Authentification Module, PAM 6.1 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? Solution développée par SUN à l origine et reprise et encouragée dans Linux : Pluggable Authentification Module dit PAM c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

73 6 Pluggable Authentification Module, PAM 6.2 Principe de PAM Chapitre 6 Pluggable Authentification Module, PAM 6.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. /etc/pam.conf programme1 programme2 modulea.so moduleb.so modulec.so moduleb.so modulec.so programme1 pam_init() pam_auth() moduled.so modulee.so modulef.so programme2 pam_init() pam_auth() modulea.so moduleb.so modulec.so moduled.so modulee.so modulef.so c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pluggable Authentification Module, PAM 6.2 Principe de PAM 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

74 6 Pluggable Authentification Module, PAM 6.3 Fichier de configuration /etc/pam.conf Chapitre 6 Pluggable Authentification Module, PAM 6.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pluggable Authentification Module, PAM 6.3 Fichier de configuration /etc/pam.conf service_name module_type control_flag module_path options Le «service_name» nomme le service concerné par la ligne («other» pour service joker) Le «module_type» est l un des 4 mots clef : «auth», «account», «session», «password» Le «control_flag» est l un des 4 mots clef : «requisite», «required», «optional», «sufficient» Le «module_path» est le chemin du module. Les options dépendent du module. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

75 6 Pluggable Authentification Module, PAM 6.3 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pluggable Authentification Module, PAM 6.4 Directives d essai des modules Chapitre 6 Pluggable Authentification Module, PAM 6.4 Directives d essai des modules Les directives possibles d essai des modules sont : directive «required» directive «requisite» directive «optional» directive «sufficient» c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

76 6 Pluggable Authentification Module, PAM 6.4 Directives d essai des modules 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 : Pile de modules PAM REQUIRED SUCCESS AUTH_ERR c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pluggable Authentification Module, PAM 6.4 Directives d essai des modules directive «requisite» Une valeur de retour «PAM_AUTH_ERR» fait sortir de la pile d authentification prématurément en échec : Pile de modules PAM REQUISITE SUCCESS AUTH_ERR c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

77 6 Pluggable Authentification Module, PAM 6.4 Directives d essai des modules directive «optional» Si ce module échoue, on sortira de la pile avec succès si un autre module dans la pile réussit : Pile de modules PAM OPTIONAL SUCCESS AUTH_ERR c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pluggable Authentification Module, PAM 6.4 Directives d essai des modules 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 : Pile de modules PAM SUFFICIENT AUTH_ERR SUCCESS c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

78 6 Pluggable Authentification Module, PAM 6.5 Modules, /usr/lib/security Chapitre 6 Pluggable Authentification Module, PAM 6.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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pluggable Authentification Module, PAM 6.5 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». c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

79 6 Pluggable Authentification Module, PAM 6.6 Options des modules Chapitre 6 Pluggable Authentification Module, PAM 6.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) c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pluggable Authentification Module, PAM 6.7 Exemple 1 Chapitre 6 Pluggable Authentification Module, PAM 6.7 Exemple 1 Extrait de «/etc/pam.conf» : # 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.: c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

80 6 Pluggable Authentification Module, PAM 6.7 Exemple 1 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:» c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pluggable Authentification Module, PAM 6.7 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

81 6 Pluggable Authentification Module, PAM 6.8 Exemple 2 Chapitre 6 Pluggable Authentification Module, PAM 6.8 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pluggable Authentification Module, PAM 6.9 A propos de LDAP Chapitre 6 Pluggable Authentification Module, PAM 6.9 A propos de LDAP Pour les systèmes n incorporant pas LDAP en natif dans l OS, se reporter à : « c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

82 6 Pluggable Authentification Module, PAM 6.10 Un peu de bibliographie Chapitre 6 Pluggable Authentification Module, PAM 6.10 Un peu de bibliographie c T.Besançon (version 9.0) Administration Unix ARS Tôme / Connexion des utilisateurs Chapitre 7 Connexion des utilisateurs c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

83 7 Connexion des utilisateurs 7.1 Fichier utmp : <utmp.h> Chapitre 7 Connexion des utilisateurs 7.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 */ }; c T.Besançon (version 9.0) Administration Unix ARS Tôme / Connexion des utilisateurs 7.1 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

84 7 Connexion des utilisateurs 7.2 Fichier utmpx : <utmpx.h> Chapitre 7 Connexion des utilisateurs 7.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» c T.Besançon (version 9.0) Administration Unix ARS Tôme / Connexion des utilisateurs 7.3 Fichier wtmp : <utmp.h> Chapitre 7 Connexion des utilisateurs 7.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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

85 7 Connexion des utilisateurs 7.4 Fichier wtmpx : <utmpx.h> Chapitre 7 Connexion des utilisateurs 7.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» c T.Besançon (version 9.0) Administration Unix ARS Tôme / Connexion des utilisateurs 7.5 Commande last Chapitre 7 Connexion des utilisateurs 7.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

86 8 Pseudo terminaux Chapitre 8 Pseudo terminaux c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pseudo terminaux 8.1 Devices associés aux pseudo terminaux Chapitre 8 Pseudo terminaux 8.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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

87 8 Pseudo terminaux 8.2 Commande tty, device /dev/tty Chapitre 8 Pseudo terminaux 8.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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pseudo terminaux 8.3 Nombre de terminaux Chapitre 8 Pseudo terminaux 8.3 Nombre de terminaux Attention : Il doit y avoir un nombre suffisant de terminaux pour accueillir les utilisateurs. Dans le cas contraire : % rlogin serveur.example.com 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

88 8 Pseudo terminaux 8.4 Phase de connexion, init, getty Chapitre 8 Pseudo terminaux 8.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», il y a 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pseudo terminaux 8.4 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». c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

89 8 Pseudo terminaux 8.5 Liste BSD des terminaux physiques : /etc/ttys Chapitre 8 Pseudo terminaux 8.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pseudo terminaux 8.6 Liste System-V des terminaux physiques : /etc/inittab Chapitre 8 Pseudo terminaux 8.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

90 8 Pseudo terminaux 8.7 Terminaux sécurisés Chapitre 8 Pseudo terminaux 8.7 Terminaux sécurisés Root est-il autorisé à se connecter sur tout terminal? % rlogin linux.example.com -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? c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pseudo terminaux 8.7 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

91 Contrôle d accès sur DIGITAL Unix Au niveau de /etc/securettys : 8 Pseudo terminaux 8.7 Terminaux sécurisés # # 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Pseudo terminaux 8.7 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

92 8 Pseudo terminaux 8.7 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... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux X, XDM Chapitre 9 Terminaux X, XDM c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

93 9 Terminaux X, XDM 9.1 introduction sur les terminaux X Chapitre 9 Terminaux X, XDM 9.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 Après 2000, 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... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux X, XDM 9.2 XDM : X Display Management Chapitre 9 Terminaux X, XDM 9.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: Login: Password: vangogh 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

94 9 Terminaux X, XDM 9.3 Requêtes XDMCP Chapitre 9 Terminaux X, XDM 9.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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux X, XDM 9.4 Gestion directe de serveurs X Chapitre 9 Terminaux X, XDM 9.4 Gestion directe de serveurs X XDM envoie de lui même des mires d accueil à une liste de serveurs X. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

95 9 Terminaux X, XDM 9.5 Fichier de configuration xdm-config Chapitre 9 Terminaux X, XDM 9.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux X, XDM 9.6 Fichier de configuration Xaccess Chapitre 9 Terminaux X, XDM 9.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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

96 9 Terminaux X, XDM 9.7 Fichier de configuration Xservers Chapitre 9 Terminaux X, XDM 9.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux X, XDM 9.8 Fichier de configuration Xresources Chapitre 9 Terminaux X, XDM 9.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... c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

97 9 Terminaux X, XDM 9.9 Application CHOOSER Chapitre 9 Terminaux X, XDM 9.9 Application CHOOSER Le sélecteur de hôtes XDM s appelle le chooser. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux X, XDM 9.9 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

98 9 Terminaux X, XDM 9.10 Ressources X pour XDM Chapitre 9 Terminaux X, XDM 9.10 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... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux X, XDM 9.11 KDM : KDE Display Manager Chapitre 9 Terminaux X, XDM 9.11 KDM : KDE Display Manager Fichier de configuration : «/usr/local/share/config/kdm/kdmrc» Utilitaire de configuration : «/usr/local/bin/kdm_config» c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

99 9 Terminaux X, XDM 9.12 GDM : Gnome Display Manager Chapitre 9 Terminaux X, XDM 9.12 GDM : Gnome Display Manager Fichier de configuration «/usr/x11r6/etc/gdm/gdm.conf» Utilitaire de configuration : «/usr/x11r6/bin/gdmconfig» c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux X, XDM 9.13 Session X de l utilisateur Chapitre 9 Terminaux X, XDM 9.13 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

100 9 Terminaux X, XDM 9.13 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux X, XDM 9.14 Mode Failsafe Chapitre 9 Terminaux X, XDM 9.14 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

101 10 Terminaux légers Chapitre 10 Terminaux légers c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux légers 10.1 Problématique Chapitre 10 Terminaux légers 10.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,...) c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

102 10 Terminaux légers 10.2 RDP Chapitre 10 Terminaux légers 10.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, clipboard manager, virtual channel Se reporter à : c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux légers 10.2 RDP c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

103 10 Terminaux légers 10.2 RDP A noter le client RDP Linux RDESKTOP, c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux légers 10.3 ICA Chapitre 10 Terminaux légers 10.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

104 10 Terminaux légers 10.3 ICA c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux légers 10.3 ICA c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

105 10 Terminaux légers 10.3 ICA c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux légers 10.4 VNC Chapitre 10 Terminaux légers 10.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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

106 10 Terminaux légers 10.4 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux légers 10.4 VNC On obtient bien le bureau distant directement manipulable depuis son propre bureau : c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

107 10 Terminaux légers 10.4 VNC A noter une réalisation matérielle et commerciale avec VNC : les terminaux AXEL AX3000 Model 65 (cf produit français!) c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux légers 10.5 SUNRAY Chapitre 10 Terminaux légers 10.5 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... c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

108 10 Terminaux légers 10.5 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! c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux légers 10.5 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... c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

109 10 Terminaux légers 10.5 SUNRAY Architecture réseau : c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux légers 10.5 SUNRAY Architecture logicielle : c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

110 10 Terminaux légers 10.5 SUNRAY Architecture logicielle (2) : c T.Besançon (version 9.0) Administration Unix ARS Tôme / Terminaux légers 10.5 SUNRAY Cohabitation avec Windows possible : c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

111 11 Protocole IP Chapitre 11 Protocole IP c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP 11.1 Introduction Chapitre 11 Protocole IP 11.1 Introduction Complément du cours réseau de Sylvie Dupuy, Christian Hascoet, Sébastien Vautherot. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

112 11 Protocole IP 11.2 Ethernet Chapitre 11 Protocole IP 11.2 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 2 Collision lorsque deux stations émettent simultanément c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435 Emission dans le cas du câble libre 11 Protocole IP 11.2 Ethernet c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

113 11 Protocole IP 11.2 Ethernet Collision lorsque deux stations émettent simultanément c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP 11.2 Ethernet Tendances actuelles : Ethernet Gigabit cablage cuivre, fibre optique Switches c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

114 11 Protocole IP 11.2 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) : c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP 11.3 Adresses IP Chapitre 11 Protocole IP 11.3 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

115 11 Protocole IP 11.3 Adresses IP Classe A Format des adresses 7 bits 24 bits 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) à c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP 11.4 Adresse spéciale : adresse de loopback Chapitre 11 Protocole IP 11.4 Adresse spéciale : adresse de loopback Interface virtuelle de loopback d adresse IP « » Permet de faire des connexions réseau avec soi-même. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

116 11 Protocole IP 11.5 Netmask Chapitre 11 Protocole IP 11.5 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) c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP 11.6 Adresse de broadcast Chapitre 11 Protocole IP 11.6 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

117 11 Protocole IP 11.7 Configuration de l adresse réseau Unix : ifconfig Chapitre 11 Protocole IP 11.7 Configuration de l adresse réseau Unix : ifconfig (en anglais interface configuration) 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP 11.7 Configuration de l adresse réseau Unix : ifconfig Sur une machine Linux, les cartes réseau ont pour noms «eth0», «eth1», «eth2», etc. Sur une machine Linux, la paramètrage réseau de la carte «eth0» se trouve au niveau du fichier «/etc/sysconfig/network-scripts/ifcfg-eth0» (ainsi de suite pour les autres interfaces) : DEVICE=eth0 BOOTPROTO=static BROADCAST= IPADDR= NETMASK= NETWORK= ONBOOT=yes GATEWAY= TYPE=Ethernet USERCTL=no PEERDNS=no c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

118 11 Protocole IP 11.7 Configuration de l adresse réseau Unix : ifconfig Sur une machine SOLARIS, les cartes réseau ont des noms dépendant du type de carte. Par exemple «le0», «eri0», «qfe0» + «qfe1» + «qfe2» + «qfe3» (carte quad port 10/100), etc. Sur une machine SOLARIS, la paramètrage réseau de la carte XYZ se trouve au niveau du fichier /etc/hostname.xyz : -rw-r--r-- 1 root root 19 Dec 4 01:35 /etc/hostname.eri0 qui contient le hostname associé à la carte : hostname adresse réseau via «/etc/host» Broadcast, netmask déduits c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP 11.8 Configuration d adresses réseau virtuelles Chapitre 11 Protocole IP 11.8 Configuration d adresses réseau virtuelles Sur une machine Linux, si la carte réseau s appelle par exemple «eth0», alors les adresses virtuelles utiliseront les interfaces réseau virtuelles de noms «eth0:0», «eth0:1», «eth0:2», etc. Sur une machine Linux, la paramètrage réseau de l adresse virtuelle «eth0:0» se trouve au niveau du fichier «/etc/sysconfig/network-scripts/ifcfg-eth0:0» (ainsi de suite pour les autres interfaces) : DEVICE=eth0:0 BOOTPROTO=static BROADCAST= IPADDR= NETMASK= NETWORK= ONBOOT=yes TYPE=Ethernet USERCTL=no PEERDNS=no c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

119 11 Protocole IP 11.8 Configuration d adresses réseau virtuelles Sur une machine SOLARIS, si la carte réseau s appelle par exemple «eri0», alors les adresses virtuelles utiliseront les interfaces réseau virtuelles de noms «eri0:1», «eri0:2», «eri0:3», etc. Sur une machine SOLARIS, la paramètrage réseau d une interface virtuelle «eri0:1» se trouvera donc au niveau du fichier «/etc/hostname.eri0:1» : -rw-r--r-- 1 root root 19 Dec 4 01:35 /etc/hostname.eri0:1 qui contient le hostname associé à l interface virtuelle : hostname adresse réseau via «/etc/host» Broadcast, netmask déduits Manuellement «ifconfig eri0 addif /prefix up» c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP 11.9 (Windows : : netsh.exe) Chapitre 11 Protocole IP 11.9 (Windows : : netsh.exe) La commande «netsh» permet de configurer en mode ligne de commande beaucoup d aspects réseau. A completer... c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

120 11 Protocole IP Annuaire basique : /etc/hosts Chapitre 11 Protocole IP 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP Routage : route Chapitre 11 Protocole IP 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

121 11 Protocole IP (Windows : : route.exe) Chapitre 11 Protocole IP (Windows : : route.exe) A completer... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP Routage : netstat Chapitre 11 Protocole IP 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

122 11 Protocole IP (Windows : : netstat.exe) Chapitre 11 Protocole IP (Windows : : netstat.exe) Même principe sur Unix : C:\Documents and Settings\ars>netstat -rn Route Table =========================================================================== Interface List 0x1... MS TCP Loopback interface 0x c VMware Virtual Ethernet Adapter for VMnet2 0x c VMware Virtual Ethernet Adapter for VMnet8 0x c VMware Virtual Ethernet Adapter for VMnet1 0x b Dell TrueMobile 1400 Dual Band WLAN Mini-PCI Card - Packet 0x d 56 ad cc be... Broadcom 440x 10/100 Integrated Controller - Packet Schedu =========================================================================== =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP (Windows : : netstat.exe) =========================================================================== Persistent Routes: None c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

123 11 Protocole IP Liste des ports réseau actifs : netstat Chapitre 11 Protocole IP Liste des ports réseau actifs : netstat La commande «netstat -a» (option «-n» pour ne pas résoudre les adresses via le DNS) renvoie la liste des connexions réseau établies ou en attente d établissement de connexion : % netstat -an vmware# netstat -an Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp ESTABLISHED tcp4 0 0 *.587 *.* LISTEN tcp4 0 0 *.25 *.* LISTEN tcp *.* LISTEN tcp *.* LISTEN tcp *.* LISTEN tcp *.* LISTEN tcp *.* LISTEN tcp *.* LISTEN tcp *.* LISTEN tcp *.* LISTEN tcp *.* LISTEN tcp *.* LISTEN tcp6 0 0 *.658 *.* LISTEN... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP Liste des ports réseau actifs : netstat udp udp6 0 0 *.687 *.* udp6 0 0 *.689 *.* udp4 0 0 *.690 *.* udp4 0 0 *.980 *.* udp6 0 0 *.911 *.* udp6 0 0 *.2049 *.*... Active UNIX domain sockets Address Type Recv-Q Send-Q Inode Conn Refs Nextref Addr c23cec08 stream 0 0 c27c /tmp/ssh-dxftmovfyc/agen c23cdd20 stream 0 0 c25e /local/prog/clamav/var/r c23cddac stream 0 0 c25e /local/prog/clamav/var/r c23cdc08 stream c23cdaf c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

124 11 Protocole IP (Windows : : netstat.exe) Chapitre 11 Protocole IP (Windows : : netstat.exe) Même principe sur Unix : Microsoft Windows XP [Version ] (C) Copyright Microsoft Corp. C:\Documents and Settings\ars>netstat -an more Active Connections Proto Local Address Foreign Address State TCP : :0 LISTENING TCP : :0 LISTENING TCP : :0 LISTENING TCP : :0 LISTENING TCP : :0 LISTENING TCP : :0 LISTENING TCP : :0 LISTENING TCP : :0 LISTENING TCP : :0 LISTENING TCP : :0 LISTENING UDP :445 *:* UDP :500 *:*... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP Tests de connectivité : ping Chapitre 11 Protocole IP 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

125 11 Protocole IP (Windows : : ping.exe) Chapitre 11 Protocole IP (Windows : : ping.exe) Même principe sur Unix : C:\Documents and Settings\ars>ping Pinging with 32 bytes of data: Reply from : bytes=32 time<1ms TTL=128 Reply from : bytes=32 time<1ms TTL=128 Reply from : bytes=32 time<1ms TTL=128 Reply from : bytes=32 time<1ms TTL=128 Ping statistics for : Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP Tests de connectivité : traceroute Chapitre 11 Protocole IP 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

126 11 Protocole IP (Windows : : tracert.exe) Chapitre 11 Protocole IP (Windows : : tracert.exe) A completer... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP Utilitaire libpcap Chapitre 11 Protocole IP 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

127 11 Protocole IP (Windows : : netcap.exe) Chapitre 11 Protocole IP (Windows : : netcap.exe) Dans le CDROM Windows XP, installer «SUPPORT\TOOLS\support.cab» : netcap C:\> netcap.exe /N:4 netmon? A completer... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP Utilitaire tcpdump Chapitre 11 Protocole IP Utilitaire tcpdump Cf Version (au 27 août 2002) 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

128 11 Protocole IP Utilitaire ethereal Chapitre 11 Protocole IP 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP Utilitaire ethereal c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

129 11 Protocole IP (Windows : : etherreal.exe) Chapitre 11 Protocole IP (Windows : : etherreal.exe) A completer... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP Utilitaire lsof Chapitre 11 Protocole IP Utilitaire lsof (en anglais List of open files) 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) c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

130 11 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]») c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP Logiciels de dessin de réseaux Chapitre 11 Protocole IP Logiciels de dessin de réseaux Plusieurs logiciels disponibles mais incompatibles : VISIO, disponible dans Microsoft Office sous Windows : DIA, disponible sur Unix ou Windows : c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

131 11 Protocole IP Logiciels de dessin de réseaux Bibliothèque de symboles CISCO dans DIA : c T.Besançon (version 9.0) Administration Unix ARS Tôme / Protocole IP Un peu de bibliographie Chapitre 11 Protocole IP 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

132 12 Domain Name Server (DNS) Chapitre 12 Domain Name Server (DNS) c T.Besançon (version 9.0) Administration Unix ARS Tôme / Domain Name Server (DNS) 12.1 Principes du DNS Chapitre 12 Domain Name Server (DNS) 12.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

133 12 Domain Name Server (DNS) 12.2 Zone DNS Chapitre 12 Domain Name Server (DNS) 12.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 216-pc pc02 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Domain Name Server (DNS) 12.3 Requête d interrogation du DNS Chapitre 12 Domain Name Server (DNS) 12.3 Requête d interrogation du DNS Le DNS est bâti selon un modèle client serveur Cf logiciel DNSTRACER sur c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

134 12 Domain Name Server (DNS) 12.3 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Domain Name Server (DNS) 12.3 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é,?,?) c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

135 12 Domain Name Server (DNS) 12.4 Implémentation : BIND, named Chapitre 12 Domain Name Server (DNS) 12.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). c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435 Exemple 1 : 12 Domain Name Server (DNS) 12.4 Implémentation : BIND, named Pour connaitre la version de «named» : % dig ns.example.com version.bind chaos txt ; <<>> DiG 8.2 <<>> ns.example.com 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: client.example.com to SERVER: default ;; WHEN: Mon Sep 30 00:20: ;; MSG SIZE sent: 30 rcvd: 49 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

136 Exemple 2 : 12 Domain Name Server (DNS) 12.4 Implémentation : BIND, named Pour connaitre la version de «named» : % 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Domain Name Server (DNS) 12.4 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

137 12 Domain Name Server (DNS) 12.5 F.root-servers.net (vieille version) Chapitre 12 Domain Name Server (DNS) 12.5 F.root-servers.net (vieille version) OBSOLÈTE mais laissé pour se faire une idée c T.Besançon (version 9.0) Administration Unix ARS Tôme / Domain Name Server (DNS) 12.5 F.root-servers.net (vieille version) (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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

138 12 Domain Name Server (DNS) 12.5 F.root-servers.net (vieille version) 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 ( c T.Besançon (version 9.0) Administration Unix ARS Tôme / Domain Name Server (DNS) 12.6 F.root-servers.net (à jour) Chapitre 12 Domain Name Server (DNS) 12.6 F.root-servers.net (à jour) (cf 2 nœuds globaux, plus de trente nœuds locaux répartis dans divers pays. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

139 12 Domain Name Server (DNS) 12.7 Utilitaire rndc Chapitre 12 Domain Name Server (DNS) 12.7 Utilitaire rndc Syntaxe : rndc [options] cmd Il contrôle le fonctionnement de «named» à distance via TCP («rndc.conf» contient des clefs d accès). «status» status de NAMED «dumpdb» dumpe la base et le cache dans «/var/tmp/named_dump.db» «reload» recharge les zones primaires et secondaires «stats» dumpe les statistiques dans «/var/tmp/named.stats» «trace/notrace» gestion du niveau de trace dans «/var/tmp/named.run» «start» démarre NAMED «stop» arrête NAMED en sauvant les mises à jour en cours «halt» arrête NAMED froidement «restart» arrête et redémarre NAMED c T.Besançon (version 9.0) Administration Unix ARS Tôme / Domain Name Server (DNS) 12.8 Fichier /etc/resolv.conf Chapitre 12 Domain Name Server (DNS) 12.8 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». c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

140 12 Domain Name Server (DNS) 12.9 Utilitaire nslookup Chapitre 12 Domain Name Server (DNS) 12.9 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Domain Name Server (DNS) Utilitaire dig Chapitre 12 Domain Name Server (DNS) 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

141 12 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

142 12 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

143 12 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

144 12 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Domain Name Server (DNS) Record de type PTR Chapitre 12 Domain Name Server (DNS) 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 = c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

145 12 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Domain Name Server (DNS) Fichier /etc/nsswitch.conf Chapitre 12 Domain Name Server (DNS) 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

146 12 Domain Name Server (DNS) Délégation d une partie de classe C Chapitre 12 Domain Name Server (DNS) Délégation d une partie de classe C RFC Avis : Mécanisme astucieux mais un peu compliqué à mettre en œuvre en pratique. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

147 12 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Domain Name Server (DNS) Nom de machine, hostname Chapitre 12 Domain Name Server (DNS) Nom de machine, hostname Caractères autorisés : cf RFC 952 et RFC 1123 En résumé : lettres majuscules lettres minuscules chiffres caractère «-» c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

148 12 Domain Name Server (DNS) WHOIS Chapitre 12 Domain Name Server (DNS) 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Domain Name Server (DNS) Espace de confiance Chapitre 12 Domain Name Server (DNS) Espace de confiance c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

149 12 Domain Name Server (DNS) Un peu de documentation Chapitre 12 Domain Name Server (DNS) Un peu de documentation cours réseau ARS Cf et ftp://ftp.isc.org/isc/bind/ Cf Cf Cf ftp://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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Partage de fichiers NFS Chapitre 13 Partage de fichiers NFS c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

150 13 Partage de fichiers NFS 13.1 Introduction Chapitre 13 Partage de fichiers NFS 13.1 Introduction 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Partage de fichiers NFS 13.2 Principe de NFS Chapitre 13 Partage de fichiers NFS 13.2 Principe de NFS Client Serveur System calls System calls VNODE / VFS VNODE / VFS Client routines NFS File system Server routines NFS File system RPC / XDR RPC / XDR RPC / XDR RPC / XDR Reseau c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

151 13 Partage de fichiers NFS 13.3 Lancement de NFS Chapitre 13 Partage de fichiers NFS 13.3 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Partage de fichiers NFS 13.3 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... c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

152 13 Partage de fichiers NFS 13.3 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». c T.Besançon (version 9.0) Administration Unix ARS Tôme / Partage de fichiers NFS 13.4 Exportation NFS, /etc/exports, /etc/dfs/dfstab Chapitre 13 Partage de fichiers NFS 13.4 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

153 13 Partage de fichiers NFS 13.4 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Partage de fichiers NFS 13.5 Exportation root NFS Chapitre 13 Partage de fichiers NFS 13.5 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 (attention : parfois c est l utilisateur «nfsnobody» mais le principe reste le même) c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

154 13 Partage de fichiers NFS 13.5 Exportation root NFS Exemple de la conversion de l UID lors de la requête (la partition montée est exportée sans droit 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.txt # 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.txt # cat motd cat: motd: Permission denied c T.Besançon (version 9.0) Administration Unix ARS Tôme / Partage de fichiers NFS 13.5 Exportation root NFS Exportation avec root NFS Mêmes fichiers que précédemment : exemple sur DIGITAL UNIX : /var/spool/mail -root=client.example.com,access=client.example.com exemple sur Linux : /var/spool/mail client.example.com(rw,no_root_squash) exemple sur Solaris : /export/home - nfs rw=.example.com,root=client.example.com c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

155 13 Partage de fichiers NFS 13.5 Exportation root NFS Exportation sans root NFS Mêmes fichiers que précédemment : exemple sur DIGITAL UNIX : /var/spool/mail -access=client.example.com exemple sur Solaris :... /opt - nfs rw=client.example.com /usr/local - nfs rw=.example.com /var/mail - nfs rw=.example.com c T.Besançon (version 9.0) Administration Unix ARS Tôme / Partage de fichiers NFS 13.6 Règle de non transitivité NFS Chapitre 13 Partage de fichiers NFS 13.6 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

156 13 Partage de fichiers NFS 13.7 Montage NFS manuel Chapitre 13 Partage de fichiers NFS 13.7 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Partage de fichiers NFS 13.8 Montage NFS automatique Chapitre 13 Partage de fichiers NFS 13.8 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

157 13 Partage de fichiers NFS 13.9 Option de montage NFS soft Chapitre 13 Partage de fichiers NFS 13.9 Option de montage NFS soft Option de montage «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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Partage de fichiers NFS Option de montage NFS hard Chapitre 13 Partage de fichiers NFS Option de montage NFS hard Option de montage «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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

158 13 Partage de fichiers NFS Vérification des exportations : showmount Chapitre 13 Partage de fichiers NFS 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Partage de fichiers NFS Vérification des exportations : rpcinfo Chapitre 13 Partage de fichiers NFS 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

159 13 Partage de fichiers NFS Messages d erreur NFS Chapitre 13 Partage de fichiers 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 */ c T.Besançon (version 9.0) Administration Unix ARS Tôme / Partage de fichiers NFS Automounter Chapitre 13 Partage de fichiers NFS 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

160 13 Partage de fichiers NFS Machines diskless Chapitre 13 Partage de fichiers NFS Machines diskless Une machine diskless est une machine Unix sans disque dur local. Principe : 1 La machine Unix est mise sous tension. 2 La machine Unix envoie sur le réseau son adresse ethernet (MAC address). Par exemple via PXE sur des cartes réseau récentes. 3 La machine récupére son adresse IP et on lui indique où télécharger un noyau et comment. Par exemple renseignements renvoyés par DHCP. 4 La machine télécharge le noyau. Par exemple par TFTP. 5 Le noyau monte par NFS la partition de «/». 6 Le programme «init» prend la main et réalise les opérations de montage des partitions indiquées dans «/etc/fstab». Ici les partitions seront donc montées par NFS. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Partage de fichiers NFS Schéma récapitulatif Chapitre 13 Partage de fichiers NFS 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

161 14 Synchronisation de fichiers Chapitre 14 Synchronisation de fichiers c T.Besançon (version 9.0) Administration Unix ARS Tôme / Synchronisation de fichiers 14.1 Introduction Chapitre 14 Synchronisation de fichiers 14.1 Introduction Contexte : deux ou plusieurs machines qui ne peuvent pas partager de fichiers par NFS. Exemples : un ordinateur portable et une machine de bureau deux ordinateurs reliés par une liaison intermittente comme une liaison téléphonique PPP etc. La synchronisation manuelle est pénible à faire. Plusieurs logiciels automatisent la synchronisation. Reste à les lancer au bon moment (cf CRON) et à paramétrer ce que l on doit synchroniser. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

162 14 Synchronisation de fichiers 14.2 Commande rdist Chapitre 14 Synchronisation de fichiers 14.2 Commande 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 A completer... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Synchronisation de fichiers 14.2 Commande rdist La commande «rdist» utilise un fichier de configuration appelé par défaut «distfile» ou «Distfile» Si le fichier ne s appelle pas «distfile» ou «Distfile», il faut utiliser l option «-f» : % rdist -f mon-distfile-a-moi remote.example.com: updating host remote.example.com... De nombreuses options sont disponibles. Cf la documentation. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

163 14 Synchronisation de fichiers 14.2 Commande rdist Exemple 1 Objectif : mettre à jour du fichier «/tmp/fichier.txt» d une machine distante nommée «remote.example.com» à partir du fichier local «/tmp/fichier.txt» : Solution : fichier «Distfile» contenant : /tmp/fichier.txt -> remote.example.com install ; Utilisation et résultats : % rdist remote.example.com: updating host remote.example.com remote.example.com: /tmp/fichier.txt: installing remote.example.com: updating of remote.example.com finished c T.Besançon (version 9.0) Administration Unix ARS Tôme / Synchronisation de fichiers 14.2 Commande rdist 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 -y remote.example.com: updating host remote.example.com remote.example.com: updating of remote.example.com finished Notez les différence avec les résultats précédents. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

164 Exemple 2 : macros 14 Synchronisation de fichiers 14.2 Commande rdist Objectif : mettre à jour les 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». Soit le fichier «Distfile» contenant les lignes suivantes : FILES = ( /tmp/fichier.txt /tmp/fichier2.txt ) HOSTS = ( remote.example.com remote2.example.com remote3.example.com ) ${FILES} -> ${HOSTS} install /var/tmp ; notify besancon ; c T.Besançon (version 9.0) Administration Unix ARS Tôme / Synchronisation de fichiers 14.2 Commande rdist On constate : on utilise des macros : «FILES», «HOSTS» on met à jour des fichiers distants de paths différents des originaux on envoie un mail une fois la mise à jour faite c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

165 14 Synchronisation de fichiers 14.2 Commande rdist Possibilité de ne mettre à jour qu une machine du lot via l option «-m» : % rdist -m remote.example.com remote.example.com: updating host remote.example.com remote.example.com: /tmp/fichier.txt: installing remote.example.com: /tmp/fichier2.txt: installing remote.example.com: ( besancon ) remote.example.com: updating of remote.example.com finished c T.Besançon (version 9.0) Administration Unix ARS Tôme / Synchronisation de fichiers 14.2 Commande rdist Une seconde mise à jour donne : % touch /tmp/fichier.txt % rdist -y remote.example.com: updating host remote.example.com remote.example.com: /tmp/fichier.txt: updating remote.example.com: ( besancon ) remote.example.com: updating of remote.example.com finished Notez le mot «updating» au lieu de «installing». c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

166 14 Synchronisation de fichiers 14.2 Commande rdist Exemple 3 : directive special Soit le fichier «Distfile» contenant les lignes suivantes : /tmp/fichier.txt -> remote.example.com install ; special "uname -a" ; Son exécution donne : % rdist remote.example.com: updating host remote.example.com remote.example.com: /tmp/fichier.txt: installing 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Synchronisation de fichiers 14.2 Commande rdist exemple 4 : essai à blanc L option «-n» essaye à blanc le scenario de mise à jour mais ne réalise pas la mise à jour en pratique. Avec le fichier «Distfile» de l exemple 1, on voit ainsi : % rdist -n updating host remote.example.com install -onochkgroup,nochkowner,younger /tmp/fichier.txt /tmp/fichier.txt c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

167 14 Synchronisation de fichiers 14.2 Commande rdist Exemple 5 : transport via SSH On peut utiliser SSH comme protocole de transport avec la machine distante au lieu de RSH. Avec le fichier «Distfile» de l exemple 1, on voit ainsi : % rdist -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: updating of remote.example.com finished c T.Besançon (version 9.0) Administration Unix ARS Tôme / Synchronisation de fichiers 14.3 Synchronisation de fichiers via rsync Chapitre 14 Synchronisation de fichiers 14.3 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) A completer... c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

168 14 Synchronisation de fichiers 14.3 Synchronisation de fichiers via rsync 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Synchronisation de fichiers 14.3 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* c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

169 14 Synchronisation de fichiers 14.3 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435 La commande précédente affiche : 14 Synchronisation de fichiers 14.3 Synchronisation de fichiers via rsync building file list... done exemple/ exemple/fichier1 exemple/fichier2 exemple/fichier3 exemple/repertoire1/ exemple/repertoire1/fichier4 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

170 15 Gestionnaire de services réseau : inetd Chapitre 15 Gestionnaire de services réseau : inetd c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau : inetd 15.1 Introduction Chapitre 15 Gestionnaire de services réseau : inetd 15.1 Introduction 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

171 15 Gestionnaire de services réseau : inetd 15.2 Principe Chapitre 15 Gestionnaire de services réseau : inetd 15.2 Principe Etape 1 host1.example.com host2.example.com client inetd réseau c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau : inetd 15.2 Principe Etape 2 host1.example.com host2.example.com fork() client inetd exec() serveur réseau c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

172 15 Gestionnaire de services réseau : inetd 15.2 Principe Etape 3 host1.example.com host2.example.com client inetd serveur réseau c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau : inetd 15.3 /etc/services Chapitre 15 Gestionnaire de services réseau : inetd 15.3 /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 y a 3 caté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 à c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

173 15 Gestionnaire de services réseau : inetd 15.3 /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 smtp 25/tcp mail #Simple Mail Transfer smtp 25/udp mail #Simple Mail Transfer... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau : inetd 15.4 netstat -a, netstat -an Chapitre 15 Gestionnaire de services réseau : inetd 15.4 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... c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

174 15 Gestionnaire de services réseau : inetd 15.4 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... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau : inetd 15.5 /etc/inetd.conf Chapitre 15 Gestionnaire de services réseau : inetd 15.5 /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... c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

175 15 Gestionnaire de services réseau : inetd 15.5 /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()». c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau : inetd 15.5 /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); c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

176 15 Gestionnaire de services réseau : inetd 15.6 Reconfiguration de inetd, SIGHUP Chapitre 15 Gestionnaire de services réseau : inetd 15.6 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau : inetd 15.7 Filedescriptors et serveurs lancés par inetd Chapitre 15 Gestionnaire de services réseau : inetd 15.7 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

177 15 Gestionnaire de services réseau : inetd 15.7 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / TCP Wrappers Chapitre 16 TCP Wrappers c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

178 16 TCP Wrappers 16.1 Introduction Chapitre 16 TCP Wrappers 16.1 Introduction 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / TCP Wrappers 16.2 Rappel sur inetd Chapitre 16 TCP Wrappers 16.2 Rappel sur inetd Rappel du fonctionnement de «inetd» : host1.example.com host2.example.com host1.example.com host2.example.com fork() client inetd client inetd exec() serveur réseau réseau host1.example.com host2.example.com client inetd serveur réseau c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

179 16 TCP Wrappers 16.3 Principe des TCP Wrappers, tcpd Chapitre 16 TCP Wrappers 16.3 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / TCP Wrappers 16.3 Principe des TCP Wrappers, tcpd host1.example.com host2.example.com client inetd fork() exec() tcpd réseau c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

180 16 TCP Wrappers 16.3 Principe des TCP Wrappers, tcpd host1.example.com host2.example.com client inetd tcpd réseau c T.Besançon (version 9.0) Administration Unix ARS Tôme / TCP Wrappers 16.3 Principe des TCP Wrappers, tcpd host1.example.com client host2.example.com fork() exec() inetd tcpd serveur réseau c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

181 16 TCP Wrappers 16.3 Principe des TCP Wrappers, tcpd host1.example.com host2.example.com client inetd tcpd serveur réseau c T.Besançon (version 9.0) Administration Unix ARS Tôme / TCP Wrappers 16.3 Principe des TCP Wrappers, tcpd host1.example.com host2.example.com client inetd serveur réseau c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

182 16 TCP Wrappers 16.3 Principe des TCP Wrappers, tcpd La librairie des TCP Wrappers est maintenant intégrée à beaucoup de produits (même sous WINDOWS...). c T.Besançon (version 9.0) Administration Unix ARS Tôme / TCP Wrappers 16.4 Modifications de /etc/inetd.conf Chapitre 16 TCP Wrappers 16.4 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

183 16 TCP Wrappers 16.4 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); c T.Besançon (version 9.0) Administration Unix ARS Tôme / TCP Wrappers 16.5 Contrôle d accès, /etc/hosts.allow, /etc/hosts.deny Chapitre 16 TCP Wrappers 16.5 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 2. 2 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 3. 3 On accepte la requête. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

184 16 TCP Wrappers 16.5 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: in.rlogind: in.rshd: ALL ALL 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 ). c T.Besançon (version 9.0) Administration Unix ARS Tôme / TCP Wrappers 16.5 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). c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

185 16 TCP Wrappers 16.5 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é. c T.Besançon (version 9.0) Administration Unix ARS Tôme / TCP Wrappers 16.6 libwrap.a Chapitre 16 TCP Wrappers 16.6 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

186 17 Gestionnaire de services réseau (2) : xinetd Chapitre 17 Gestionnaire de services réseau (2) : xinetd c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau (2) : xinetd 17.1 Introduction Chapitre 17 Gestionnaire de services réseau (2) : xinetd 17.1 Introduction (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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

187 17 Gestionnaire de services réseau (2) : xinetd 17.2 Fichier de configuration /etc/xinetd.conf Chapitre 17 Gestionnaire de services réseau (2) : xinetd 17.2 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau (2) : xinetd 17.2 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

188 17 Gestionnaire de services réseau (2) : xinetd 17.3 Réglages par défaut Chapitre 17 Gestionnaire de services réseau (2) : xinetd 17.3 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 RECORD 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau (2) : xinetd 17.4 Configuration d un service Chapitre 17 Gestionnaire de services réseau (2) : xinetd 17.4 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 } c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

189 17 Gestionnaire de services réseau (2) : xinetd 17.5 /etc/xinetd.conf : directive nice Chapitre 17 Gestionnaire de services réseau (2) : xinetd 17.5 /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 } c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau (2) : xinetd 17.6 /etc/xinetd.conf : directive access_times Chapitre 17 Gestionnaire de services réseau (2) : xinetd 17.6 /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 } c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

190 17 Gestionnaire de services réseau (2) : xinetd 17.7 /etc/xinetd.conf : directives bind, id Chapitre 17 Gestionnaire de services réseau (2) : xinetd 17.7 /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 } La directive «id» servira au niveau de SYSLOG à différencier les traces de l un ou l autre de FTPD. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau (2) : xinetd 17.8 /etc/xinetd.conf : directive redirect Chapitre 17 Gestionnaire de services réseau (2) : xinetd 17.8 /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 « ». c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

191 17 Gestionnaire de services réseau (2) : xinetd 17.9 /etc/xinetd.conf : tcpd et directive NAMEINARGS Chapitre 17 Gestionnaire de services réseau (2) : xinetd 17.9 /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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Gestionnaire de services réseau (2) : xinetd /etc/xinetd.conf : directive chroot Chapitre 17 Gestionnaire de services réseau (2) : xinetd /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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

192 17 Gestionnaire de services réseau (2) : xinetd Reconfiguration, signaux Chapitre 17 Gestionnaire de services réseau (2) : xinetd 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau Chapitre 18 Quelques services et protocoles réseau c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

193 18 Quelques services et protocoles réseau 18.1 Services réseau inutiles Chapitre 18 Quelques services et protocoles réseau 18.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é. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.1 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

194 18 Quelques services et protocoles réseau 18.1 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.1 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

195 18 Quelques services et protocoles réseau 18.2 Protocole TELNET, telnet, telnetd Chapitre 18 Quelques services et protocoles réseau 18.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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.2 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

196 18 Quelques services et protocoles réseau 18.3 Protocole RLOGIN, rlogin, rlogind Chapitre 18 Quelques services et protocoles réseau 18.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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.3 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

197 18 Quelques services et protocoles réseau 18.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.4 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 et ce port 21 sert à envoyer des commandes au serveur FTP. Si les commandes nécessitent que des données soient reçues (commandes «dir», «get» par exemple) ou transmises («put» par exemple) au serveur, le client envoie une commande «PORT» au serveur indiquant un port sur lequel le serveur va créer une connexion depuis le port 20 («ftp-data» de «/etc/services»). La connexion FTP-DATA est close client dès que toutes les données sont transférées. port connexion PORT DIR data serveur port 21 port 21 port 21 port 20 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

198 Exemple : 18 Quelques services et protocoles réseau 18.4 Protocole FTP, ftp, ftpd % 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.4 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

199 18 Quelques services et protocoles réseau 18.4 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.4 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

200 18 Quelques services et protocoles réseau 18.5 Protocole TFTP, tftp, tftpd Chapitre 18 Quelques services et protocoles réseau 18.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.5 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

201 18 Quelques services et protocoles réseau 18.5 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/ c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.6 Protocole RARP, obtention d adresse IP Chapitre 18 Quelques services et protocoles réseau 18.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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

202 18 Quelques services et protocoles réseau 18.7 Protocole RARP : rarpd Chapitre 18 Quelques services et protocoles réseau 18.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 Obsolète c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.8 Protocole BOOTP : bootpd Chapitre 18 Quelques services et protocoles réseau 18.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

203 18 Quelques services et protocoles réseau 18.8 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: Obsolète c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.9 Protocole DHCP, dhcpd, dhcpd.conf, dhclient Chapitre 18 Quelques services et protocoles réseau 18.9 Protocole DHCP, dhcpd, dhcpd.conf, dhclient DHCP : Dynamic Host Configuration Protocol RFC 2131 et RFC 2132 « « Port TCP 67 (port d écoute du serveur) Port TCP 68 (port de réponse du serveur) c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

204 18 Quelques services et protocoles réseau 18.9 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.9 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

205 18 Quelques services et protocoles réseau 18.9 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.9 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

206 18 Quelques services et protocoles réseau 18.9 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 : 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.9 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 ; } c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

207 18 Quelques services et protocoles réseau 18.9 Protocole DHCP, dhcpd, dhcpd.conf, dhclient Le serveur écrit les leases sur disque : «/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; } c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.9 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» c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

208 18 Quelques services et protocoles réseau 18.9 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;... c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.9 Protocole DHCP, dhcpd, dhcpd.conf, dhclient Suite :... } 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 ; } c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

209 18 Quelques services et protocoles réseau 18.9 Protocole DHCP, dhcpd, dhcpd.conf, dhclient Options DHCP pour clients Microsoft Cf : « default.asp?url=/windows2000/en/server/help/\ sag_dhcp_add_optionsmsvendorspecific.htm» c T.Besançon (version 9.0) Administration Unix ARS Tôme / Quelques services et protocoles réseau 18.9 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: c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

210 19 Courrier électronique Chapitre 19 Courrier électronique c T.Besançon (version 9.0) Administration Unix ARS Tôme / Courrier électronique 19.1 Composantes du système du courrier électronique Chapitre 19 Courrier électronique 19.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, Microsoft Exchange, etc.). Le système est modulaire, son bon fonctionnement reposant sur des descriptions publiquement disponibles des détails des différents protocoles. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

211 19 Courrier électronique 19.1 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Courrier électronique 19.1 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) c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

212 19 Courrier électronique 19.2 Mail Transfer Agent (MTA) Chapitre 19 Courrier électronique 19.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 Plusieurs MTA existent : Sendmail, Postfix c T.Besançon (version 9.0) Administration Unix ARS Tôme / Courrier électronique 19.3 Sendmail Chapitre 19 Courrier électronique 19.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 Cf « pour le site officiel (récupération du logiciel, documentation de référence) Cf le kit 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

213 19 Courrier électronique 19.4 Postfix Chapitre 19 Courrier électronique 19.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Courrier électronique 19.4 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

214 19 Courrier électronique 19.5 Normes utilisées par sendmail et postfix Chapitre 19 Courrier électronique 19.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/» c T.Besançon (version 9.0) Administration Unix ARS Tôme / Courrier électronique 19.6 Adresses postmaster, abuse, SPAM Chapitre 19 Courrier électronique 19.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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

215 19 Courrier électronique 19.6 Adresses postmaster, abuse, SPAM Humour : c T.Besançon (version 9.0) Administration Unix ARS Tôme / Courrier électronique 19.6 Adresses postmaster, abuse, SPAM Il existe plusieurs initiatives de recensement des sites spammeurs. Leurs bases de données permettent de boycotter ces sites spammeurs. Par exemple 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) c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

216 19 Courrier électronique 19.7 Protocoles de consultation : POP, IMAP Chapitre 19 Courrier électronique 19.7 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 c T.Besançon (version 9.0) Administration Unix ARS Tôme / Courrier électronique 19.7 Protocoles de consultation : POP, IMAP c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

217 19 Courrier électronique 19.7 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 : c T.Besançon (version 9.0) Administration Unix ARS Tôme / Courrier électronique 19.7 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 XXXXXXXX +OK Name is a valid mailbox. OK User logged in PASS XXXXXXXX +OK Maildrop locked and ready. SELECT INBOX * FLAGS (\Answered \Flagged \Draft \Deleted \Seen) * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Dele * 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

218 (suite) 19 Courrier électronique 19.7 Protocoles de consultation : POP, IMAP 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. c T.Besançon (version 9.0) Administration Unix ARS Tôme / 435

Administration système UNIX version 8.0

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

Plus en détail

Administration système UNIX version 7.0

Administration système UNIX version 7.0 Administration système UNIX version 7.0 Partie 3 2004 2005 Thierry Besançon Philippe Weill Formation Permanente Université Pierre et Marie Curie - PARIS 6 Tour centrale 13 e étage 4, place Jussieu 75252

Plus en détail

Chapitre 32 : Authentification des comptes utilisateurs

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

Plus en détail

Table des matières. 2011 Hakim Benameurlaine 1

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

Plus en détail

Cours UNIX Network Information Service

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

Plus en détail

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

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

Plus en détail

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 (sebastien.collette@ulb.ac.be) 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

Plus en détail

1 Configuration réseau des PC de la salle TP

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

Plus en détail

Installer un domaine NIS

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

Plus en détail

TP administration système

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

Plus en détail

Le Linux NIS(YP)/NYS/NIS+ HOWTO

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

Plus en détail

Atelier La notion de session utilisateur sous Linux

Atelier La notion de session utilisateur sous Linux Chapitre 6 Atelier La notion de session utilisateur sous Linux I Présentation Nous allons voir la notion de session et d utilisateur sous linux, ainsi que quelques commandes de base afin de mieux comprendre

Plus en détail

PARAMETRER SAMBA 2.2

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

Plus en détail

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) 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

Plus en détail

I. Présentation du serveur Samba

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,...

Plus en détail

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

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

Plus en détail

Projet Administration Réseaux

Projet Administration Réseaux EL KHATIT Zouhair, L3 ASR N : 20072486 Projet Administration Réseaux Thème : SFTP & SCPOnly I- SFTP (Secure File Transfer Protocol) : Introduction: Le SFTP permet de transférer des fichiers par une connexion

Plus en détail

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 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

Plus en détail

Jeudis du libre, Samba ou comment donner le rythme aux stations Windows

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

Plus en détail

Installation d ORACLE 10g sous Debian Etch

Installation d ORACLE 10g sous Debian Etch Installation d ORACLE 10g sous Debian Etch Rédacteur : TEHERY Julien Page n 2/6 1.1 Pré-requis Comme pour chaque installation de logiciel, il y a lieu d installer certains paquets nécessaires. Et Oracle

Plus en détail

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 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

Plus en détail

NFS Maestro 8.0. Nouvelles fonctionnalités

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

Plus en détail

Aide-Mémoire unix. 9 février 2009

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 :

Plus en détail

Utiliser Améliorer Prêcher. Introduction à LDAP

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

Plus en détail

sshgate Patrick Guiran Chef de projet support [email protected] WWW.LINAGORA.COM

sshgate Patrick Guiran Chef de projet support pguiran@linagora.com WWW.LINAGORA.COM sshgate Patrick Guiran Chef de projet support [email protected] WWW.LINAGORA.COM Sommaire 1. Problématique des accès aux serveurs Besoins Linagora Recherche d'une solution 2. Présentation de sshgate

Plus en détail

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire 2014-2015 David Genest

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire 2014-2015 David Genest Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI Année universitaire 2014-2015 David Genest Systèmes d exploitation Master 2 SILI 2014-2015 1 Chapitre I Virtualisation 1 Présentation

Plus en détail

Installation d'un serveur FTP géré par une base de données MySQL

Installation d'un serveur FTP géré par une base de données MySQL BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux développement d applications COMPTE-RENDU D ACTIVITE ACTIVITE N 2 Nom et Prénom : Casanova Grégory Identification (objectif) de l activité Installation

Plus en détail

Les différentes méthodes pour se connecter

Les différentes méthodes pour se connecter Les différentes méthodes pour se connecter Il y a plusieurs méthodes pour se connecter à l environnement vsphere 4 : en connexion locale sur le serveur ESX ; avec vsphere Client pour une connexion sur

Plus en détail

Introduction au Système d Exploitation Unix/Linux

Introduction au Système d Exploitation Unix/Linux 1 iere partie: Système de Gestion de Fichier B. Jacob IC2/LIUM 17 septembre 2013 Plan 1 Notions de fichier 2 Notions de répertoire 3 Organisation des répertoires 4 Identification d un fichier dans l arborescence

Plus en détail

Table des matières. 2011 Hakim Benameurlaine 1

Table des matières. 2011 Hakim Benameurlaine 1 Table des matières 1 OpenSSH... 2 1.1 Introduction... 2 1.2 Installation... 2 1.3 Test de connexion... 2 1.4 Configuration du serveur ssh... 3 1.5 Contrôle du service ssh... 4 1.6 Log... 4 1.7 Client ssh...

Plus en détail

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA Nom : Prénom : Classe et groupe : 1P 3 SEN TRI Télécom & Réseaux Linux Ubuntu Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA 04/11/2010 TP 1. Objectif : Configurer un serveur SAMBA sous Linux

Plus en détail

Installation et configuration d un serveur SAMBA sous linux Red Hat

Installation et configuration d un serveur SAMBA sous linux Red Hat Installation et configuration d un serveur SAMBA sous linux Red Hat Plan de l exposé: Introduction 1 Configuration du serveur Samba sous Linux 1.1 Architecture de Samba 1.2 Installation et demmarage de

Plus en détail

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 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»....

Plus en détail

Simple Database Monitoring - SDBM Guide de l'usager

Simple Database Monitoring - SDBM Guide de l'usager - SDBM Version 0.01 (2011/07/05) Tables des matières Simple Database Monitoring - SDBM.1.1 Tables des matières2 Architecture3 Installation..4 Installation sur Linux (image virtuelle pré-configuré)..4 Changement

Plus en détail

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Imprimantes et partage réseau sous Samba avec authentification Active Directory Imprimantes et partage réseau sous Samba avec authentification Active Directory Sommaire 1- Pré requis Page 2 2- Configuration réseau Page 3 3- Installation de samba Page 4 à 5 4- Installation de kerberos

Plus en détail

Installation. du serveur SCRIBE virtuel d'amonecole

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

Plus en détail

TP : Introduction à TCP/IP sous UNIX

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,...)

Plus en détail

Client Debian Squeeze et serveur SambaEdu3

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

Plus en détail

Environnements informatiques

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

Plus en détail

TP1 - Prise en main de l environnement Unix.

TP1 - Prise en main de l environnement Unix. Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents

Plus en détail

Active Directory. Structure et usage

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é

Plus en détail

Projet Semestre2-1SISR

Projet Semestre2-1SISR Table des matières 1 Ressources... 2 2 Récupération des sources Samba... 2 3 Préparation du serveur... 2 4 Vérification et Compilation de SAMBA4... 3 5 Préparation du controleur de domaine... 3 6 Test

Plus en détail

INFO-F-404 : Techniques avancées de systèmes d exploitation

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

Plus en détail

L annuaire et le Service DNS

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.

Plus en détail

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS I LA MISSION Votre entreprise cherche maintenant à réduire le coût des licences. Elle vous confie la mission qui consiste à tester différents

Plus en détail

1 Démarrage de Marionnet

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é

Plus en détail

Personnes ressources Tice. Académie de Rouen

Personnes ressources Tice. Académie de Rouen Personnes ressources Tice Académie de Rouen Objectifs Acquérir les connaissances de base concernant Linux Découvrir la solution technique SambaEdu3 : serveur de fichiers sous Linux Mettre en oeuvre cette

Plus en détail

SSH, le shell sécurisé

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,

Plus en détail

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. 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

Plus en détail

Rôles serveur Notion de Groupe de Travail Active Directory Utilisation des outils d administration Microsoft Windows Server 2008

Rôles serveur Notion de Groupe de Travail Active Directory Utilisation des outils d administration Microsoft Windows Server 2008 Vue d ensemble du cours Rôles serveur Notion de Groupe de Travail Active Directory Utilisation des outils d administration Microsoft Windows Server 2008 Qu est-ce que le Groupe de Travail? Les comptes

Plus en détail

La Comptabilité UNIX System V Acctcom

La Comptabilité UNIX System V Acctcom Introdution La Comptabilité UNIX System V Acctcom (Groupe GLACE) Hervé Schauer [email protected] Acctcom est le système de comptabilité (accounting) d Unix System V. Il a été conçu pour permettre une facturation

Plus en détail

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr Auteur du document : ESRI France Version de la documentation : 1.2.0.0 Date de dernière

Plus en détail

DNS. Olivier Aubert 1/27

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

Plus en détail

INSTALLATION ET CONFIGURATION DE OPENLDAP

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

Plus en détail

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 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

Plus en détail

Exercice sur les Dockers

Exercice sur les Dockers Exercice sur les Dockers Les parties composant les Dockers: 1 docker daemon: est un démon qui gère les dockers (les conteneurs LXC) qui tournent sur la machine hôte 2 docker CLI: une série de commandes

Plus en détail

Ce TP consiste à installer, configurer et tester un serveur DNS sous Linux. Serveur open source : bind9 Distribution : Mandriva

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

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

Sécurité des systèmes d exploitation

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é

Plus en détail

PUPPET. Romain Bélorgey IR3 Ingénieurs 2000

PUPPET. Romain Bélorgey IR3 Ingénieurs 2000 PUPPET Romain Bélorgey IR3 Ingénieurs 2000 SOMMAIRE Qu est-ce que Puppet? Utilisation de Puppet Ses composants Son utilisation Le langage Puppet Démonstration QU EST-CE QUE PUPPET? Administration centralisée

Plus en détail

LINUX REMPLAÇANT WINDOWS NT

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

Plus en détail

Lieberman Software Corporation

Lieberman Software Corporation Lieberman Software Corporation Managing Privileged Accounts Ou La Gestion des Comptes à Privilèges 2012 by Lieberman Software Corporation Agenda L éditeur Lieberman Software Les défis Failles sécurité,

Plus en détail

Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2

Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2 Mon premier rpm http://alexandre-mesle.com 7 juin 2010 Table des matières 1 Avant de commencer 2 1.1 RPM....................................................... 2 1.2 URPMI.....................................................

Plus en détail

DenyAll Detect. Documentation technique 27/07/2015

DenyAll Detect. Documentation technique 27/07/2015 DenyAll Detect Documentation technique 27/07/2015 Sommaire 1. A propos de ce document... 3 1.1 Objet... 3 1.2 Historique... 3 1.3 Contexte... 3 2. Liste des tests... 4 2.1 Découverte réseau (scan de ports)...

Plus en détail

Le Network File System de Sun (NFS)

Le Network File System de Sun (NFS) 1 sur 5 Le Network File System de Sun (NFS) Le Network File System de Sun (NFS) Architecture Protocoles Mounting Automounting vs Static mounting Directory et accès aux fichiers Problèmes Implémentation

Plus en détail

Manuel des logiciels de transferts de fichiers File Delivery Services

Manuel des logiciels de transferts de fichiers File Delivery Services Manuel des logiciels de transferts de fichiers File Delivery Services Editeur La Poste CH SA Technologies de l information Webergutstrasse 12 CH-3030 Berne (Zollikofen) Contact La Poste CH SA Technologies

Plus en détail

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 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

Plus en détail

Préparation d un serveur Apache pour Zend Framework

Préparation d un serveur Apache pour Zend Framework Préparation d un serveur Apache pour Zend Framework Jacques THOORENS 30 novembre 2010 Résumé Cette petite introduction explique comment paramétrer son serveur Apache personnel pour en faire une machine

Plus en détail

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3 par G.Haberer, A.Peuch, P.Saadé Table des matières 1. Installation de Windows 2000 Server.............................................. 2 2. Installation

Plus en détail

Gestion des identités Christian-Pierre Belin

Gestion des identités Christian-Pierre Belin Gestion des identités Christian-Pierre Belin Architecte Microsoft France La gestion des identités Le périmètre et les rôles Services d annuaire Point de stockage et d administration des comptes, des informations

Plus en détail

ftp & sftp : transférer des fichiers

ftp & sftp : transférer des fichiers ftp & sftp : transférer des fichiers Le FTP (File Transfer Protocol) est un protocole permettant d'échanger des fichiers sur le réseau. Il est assez ancien (1985) et toujours utilisé à l'heure actuelle

Plus en détail

Evidian IAM Suite 8.0 Identity Management

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

Plus en détail

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL Au cours de ce TP, vous allez installer un serveur de courrier sur un réseau local. Les étapes par lesquelles vous allez passer sont les suivantes

Plus en détail

Automatisation de l administration système

Automatisation de l administration système Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications

Plus en détail

Présentation, mise en place, et administration d'ocs Inventory et de GLPI

Présentation, mise en place, et administration d'ocs Inventory et de GLPI Présentation, mise en place, et administration d'ocs Inventory et de GLPI I Présentation Open Computer and Software Inventory Next Gen II Architecture d'ocs Inventory III Mise en place 1 er méthode avec

Plus en détail

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall Titre Version Date Dernière page Identité du document Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Plus en détail

WDpStats Procédure d installation

WDpStats Procédure d installation WDpStats Procédure d installation Table de matières WDpStats... 1 Procédure d installation... 1 Table de matières... 1 Résumé... 2 Réquisits... 2 Installation... 2 Difficultés... 6 Lancement... 7 wdpstats_install_oracle_fr.xml

Plus en détail

B1-4 Administration de réseaux

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

Plus en détail

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

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............................................

Plus en détail

Ajout et Configuration d'un nouveau poste pour BackupPC

Ajout et Configuration d'un nouveau poste pour BackupPC Ajout et Configuration d'un nouveau poste pour BackupPC I. Création de l'utilisateur et déclaration de la machine à sauvegarder Dans une console, taper cette commande : htpasswd /etc/apache2/backuppc_users

Plus en détail

Administration Linux - FTP

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..............................................

Plus en détail

Étude de l application DNS (Domain Name System)

É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

Plus en détail

SECURITE. Figure 1. Incident réseau, source CERT. Nombre. Sécurité

SECURITE. Figure 1. Incident réseau, source CERT. Nombre. Sécurité SECURITE Ce cours est très inspiré des textes diffusés par l unité réseau du CNRS (www.urec.fr). La sécurité est une chose essentielle sur le réseau Internet. Elle est associée très étroitement aux lois

Plus en détail

Le projet d'annuaire LDAP à Rennes 1. - Raymond Bourges - Gérard Delpeuch

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

Plus en détail

Résolution de noms. Résolution de noms

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

Plus en détail

Table des matières Nouveau Plan d adressage... 3

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...

Plus en détail

http://www.ed-diamond.com

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

Plus en détail

Module 3. Création d objets utilisateur et ordinateur AD DS

Module 3. Création d objets utilisateur et ordinateur AD DS Module 3 Création d objets utilisateur et ordinateur AD DS Vue d ensemble du module Administration des comptes d utilisateurs Création de comptes d ordinateurs Automatisation de l administration des objets

Plus en détail

«Astrophysique et instrumentations associées» Cours UNIX. 2006 Benoît Semelin

«Astrophysique et instrumentations associées» Cours UNIX. 2006 Benoît Semelin M2 «Astrophysique et instrumentations associées» Cours UNIX 2006 Benoît Semelin Les OS OS = Operating System : Programme de base qui assure la gestion du matériel (clavier, écran, disque dur...), du système

Plus en détail

Monter automatiquement des disques distants ou locaux avec automount/autofs

Monter automatiquement des disques distants ou locaux avec automount/autofs Monter automatiquement des disques distants ou locaux avec automount/autofs 31 mai 2014 (dernière révision le 31 mai 2014) par Winnt 1 Introduction Lorsque l on veut avoir accès à des disques, qu ils soient

Plus en détail

Installation de Zabbix

Installation de Zabbix 1 Installation de Zabbix Présentation Zabbix (http://www.zabbix.com) est une solution de supervision open source. Ce logiciel permet de superviser des réseaux, et de surveiller les statuts de différents

Plus en détail

ScTools Outil de personnalisation de carte

ScTools Outil de personnalisation de carte Outil de personnalisation de carte Manuel d installation et de configuration Version 1.0.2 http://www.auditiel.fr/docs/installation.pdf Référence : 1.3.6.1.4.1.28572.1.2.2.1.2 1 SOMMAIRE 1Sommaire... 2

Plus en détail

Sauvegardes par Internet avec Rsync

Sauvegardes par Internet avec Rsync Sauvegardes par Internet avec Rsync LIVRE BLANC BackupAssist version 5.1 www.backupassist.fr Cortex I.T. Labs 2001-2008 1/16 Sommaire Introduction... 3 Configuration du matériel... 3 QNAP TS-209... 3 Netgear

Plus en détail

Séance n o 5 : Alternatives, gestion des utilisateurs et des processus

Séance n o 5 : Alternatives, gestion des utilisateurs et des processus Licence Professionnelle ASRALL Linux - Installation Séance n o 5 : Alternatives, gestion des utilisateurs et des processus 1 Alternatives sous Debian Il arrive fréquemment que plusieurs logiciels puissent

Plus en détail

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 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.

Plus en détail

Gestion d identités PSL Installation IdP Authentic

Gestion d identités PSL Installation IdP Authentic Gestion d identités PSL Installation IdP Authentic Entr ouvert SCOP http ://www.entrouvert.com 2 avril 2015 Table des matières 1 Installation du système de base 1 1.1 Rappel sur la la synchronisation des

Plus en détail

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. 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

Plus en détail

Administration de Parc Informatique TP07 : Installation de Linux Debian

Administration de Parc Informatique TP07 : Installation de Linux Debian Institut Galilée L2 Info S1 Année 2012 2013 1 Une machine virtuelle Administration de Parc Informatique TP07 : Installation de Linux Debian Le but du TP est d installer Linux (en l occurrence la distribution

Plus en détail

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI Contexte de la mission Suite à la multiplication des matériels et des logiciels dans les locaux de GSB, le service

Plus en détail

Installation et mise en œuvre de OpenSSH sous AIX 5L

Installation et mise en œuvre de OpenSSH sous AIX 5L Installation et mise en œuvre de OpenSSH sous AIX 5L Marie-Lorraine BONTRON (IBM Suisse) Introduction à OpenSSH Vous êtes administrateur d IBM eserver pseries et souhaitez améliorer la sécurité et l intégrité

Plus en détail