1 / 8 Mr M. H. ZAGGAF INSTALLATION D’UN DOMAINE NIS Présentation Admettons que

1 / 8 Mr M. H. ZAGGAF INSTALLATION D’UN DOMAINE NIS Présentation Admettons que vous disposiez de plusieurs postes linux connectés en réseau, vous êtes obligés de créer autant de comptes sur chaque machine que vous avez d'utilisateurs, le problème est que chaque utilisateur se retrouve avec une home directory différente sur chaque poste, mais aussi un mot de passe distinct, voire éventuellement un uid et gid différent. De même pour les fichiers /etc/hosts, quand vous rajoutez une machine, vous êtes obligés de modifier un à un tous les fichiers /etc/hosts de chaque machine. Avec un ensemble pareil, il est difficile de garder une certaine cohérence entre les machines, et c'est particulièrement déroutant pour les utilisateurs (mots de passe, homedirectory). D'où l'intérêt du domaine NIS, anciennement appelé YP (pour Yellow Page devenu marque déposée), dans un domaine NIS, on dispose d'un serveur NIS qui contient des fichiers de référence (appelés map), comme /etc/passwd ou/etc/hosts, les clients NIS vont consulter ces fichiers de référence. Ainsi si l'on rajoute un utilisateur sur le réseau, c'est uniquement le fichier de référence /etc/passwd du serveur qui sera modifié et distribué aux clients, on dispose donc d'un /etc/passwd identique pour tout le réseau qui se trouve physiquement sur le réseau, seul lui est modifié, le principe est le même pour les autres map disponibles (hosts,group, ...). On verra par la suite que NIS s'utilise conjointement avec NFS (ou éventuellement l'automontage autofs). On présentera les deux méthodes, sachant que je préfère personnellement la dernière, car elle permet de pouvoir travailler en local sans le serveur NIS. On suppose dans la suite des opérations que NFS ou l'automontage est configuré sur votre machine (en serveur et client), si ce n'est pas le cas, référez vous au document "mountage" en tout genre. En plus du serveur NIS vous pouvez disposer d'un serveur de secours, en cas de défaillance du premier, les clients iront consulter les maps sur le serveur de secours, appelé serveur slave, donc en cas de modification d'une map du serveur principal, si vous disposez d'un serveur slave vous devez immédiatement répercuter la modification des maps sur le serveur slave. Je n'ai personnellement pas testé cette fonctionnalité de serveur slave mais j'en parlerai quand même dans cette page, je ne garantis pas par contre que ça fonctionnera du premier coup. Avant de commencer vous devez choisir un nom pour votre domaine NIS, on prendra pour l'exemple alpha, vous pouvez évidemment choisir le nom de domaine qui vous plait, vous êtes simplement limité par votre imagination. On suppose aussi que votre réseau utilise les adresses IP 192.168.13.X et votre serveur NIS a l'adresse 192.168.13.1 et a pour nom serveur. Le but de la manœuvre est le suivant, qu'un utilisateur du réseau quelque soit le poste utilisé puisse retrouver automatiquement sa « homedirectory » et que la modification de son mot de passe sur n'importe quel poste entraîne la modification sur l'ensemble des postes. Deux cas de figures possibles seront abordés: cas 1: répertoire /home exporté Tous les homes directory se trouvent sous /home sur le serveur, tous les utilisateurs du réseau y ont été déclarés. Sur les postes clients vous n'avez déclaré aucun utilisateur à part les utilisateurs système (dont root) qu'on trouve par défaut, en tout état de cause, vous devez avoir /home vide, de même que /home ne doit pas être le point de montage d'une quelconque partition. Par NFS ou automontage, le répertoire /home du serveur sera monté sur chacun des clients et donc l'utilisateur retrouvera sa home directory quelque soit le poste qu'il utilisera. cas 2: répertoire /export/home exporté Vous ne pouvez pas vider /home sur les postes clients pour diverses raisons. Dans ce cas, sur le serveur créer l'homedirectory de chaque utilisateur sous /home, puis on va faire un lien symbolique de /home vers /export/home et dans le fichier /etc/passwd au niveau des homedirectory on remplacera /home par /export/home. Sur les clients on montera /home du serveur sous un répertoire /export, chaque utiliseur retrouvera donc sa home directory sous /export/home, tout en ne touchant pas au répertoire /home des postes clients. 2 / 8 Mr M. H. ZAGGAF Installation et configuration du serveur Installation La mise en place d'un serveur nécessite l'installation du package suivant ypserv-2.8-1mdk (Mandrake), ce package nécessite l'installation préalable du package mawk-1.3.3-5mdk. Cette installation va créer un ensemble de fichier se trouvant sous /usr/sbin commençant par yp, et des fichiers sous /etc/rc.d pour le lancement automatique et encore d'autres sous /var/yp et /usr/lib/yp. Les daemons à lancer sont ypserv et yppasswdd, le premier et le daemon NIS lui-même, le second le daemon permettant de changer les mots de passe contenus dans la map passwd quelque soit le poste où l'on se trouve. Lancement automatique : ( Linux RedHat ) A défaut voici les manipulations à faire pour réaliser un démarrage automatique sous une arborescence de type RedHat. Sous /etc/rc.d/init.d placer le fichier ypserv et le fichier yppasswdd. Puis pour un lancement à l'état de marche 3, 4 et 5 on tapera : chkconfig --level 345 ypserv on chkconfig --level 345 yppasswdd on Et pour un arrêt à l'état de marche 0126 on tapera : chkconfig --level 0126 ypserv off chkconfig --level 0126 yppasswdd off Ces manipulations sont inutiles avec une distribution Mandriva. Configuration A présent éditer le fichier /etc/sysconfig/network et rajouter: NISDOMAIN=alpha Maintenant on va dans /var/yp et on édite le fichier Makefile qui s'y trouve, voici les modifications que j'ai apporté au Makefile d'origine et les lignes que je juge importantes : # If we have only one server, we don't have to push the maps to the # slave servers (NOPUSH=true). If you have slave servers, change this # to "NOPUSH=false" and put all hostnames of your slave servers in the file # /var/yp/ypservers. # si vous avez pas de serveur slave mettre true, sinon mettre false NOPUSH=true # We do not put password entries with lower UIDs (the root and system # entries) in the NIS password database, for security. MINUID is the # lowest uid that will be included in the password maps. # MINGID is the lowest gid that will be included in the group maps. # dans la table NIS des password il n'y aura pas les comptes dont l'UID est inférieur # à 500, cela correspond aux utilisateurs systèmes # idem pour les groupes # vos utilisateurs et vos groupes doivent donc avoir un numéro d'identification supérieur à 500 MINUID=500 MINGID=500 (...) 3 / 8 Mr M. H. ZAGGAF # Should we merge the passwd file with the shadow file ? # MERGE_PASSWD=true|false # Si vous utilisez les shadow password et que souhaitez fusionner # les fichiers passwd et shadow mettre true MERGE_PASSWD=false # Should we merge the group file with the gshadow file ? # MERGE_GROUP=true|false # si vous n'utilisez pas de shadow password pour les groupes laissez à false MERGE_GROUP=false (...) # If you don't want some of these maps built, feel free to comment # them out from this list. # la ligne la plus important c'est la liste des maps susceptibles d'être gérées # pour ma part je me suis limité à /etc/passwd /etc/group et /etc/hosts #all: passwd group hosts rpc services netid protocols netgrp mail \ #shadow publickey # networks ethers bootparams amd.home \ # auto.master auto.home passwd.adjunct all: passwd group shadow hosts Maintenant on va pouvoir construire les maps proprement dites, en fait il va partir des fichiers ASCII (/etc/passwd, /etc/group, et /etc/hosts) et générer des fichiers binaires (maps). Pour cela taper en tant que root: domainname alpha Vous ne devez pas oublier aussi de lancer ypserv et yppasswdd en tapant : /etc/rc.d/init.d/ypserv start /etc/rc.d/init.d/yppasswdd start A présent sous /var/yp tapez: make Un répertoire alpha va se créer sous /var/yp avec les maps à l'intérieur: gmake[1]: Entering directory `/var/yp/alpha' Updating passwd.byname... Updating passwd.byuid... Updating group.byname... Updating group.bygid... Updating shadow.byname... gmake[1]: Leaving directory `/var/yp/alpha' A présent on va éditer le fichier /etc/ypserv.conf qui est le fichier de config du serveur nis (ypserv): voici son contenu: # ypserv.conf In this file you can set certain options for the NIS server, # and you can deny or restrict access to certain maps based # on the originating host. # # See ypserv.conf(5) for a description of the syntax. # 4 / 8 Mr M. H. ZAGGAF # Some options for ypserv. This things are all not needed, if # you have a Linux net. dns: no # The following, when uncommented, will give you shadow like passwords. # Note that it will not work if you have slave NIS servers in your # network that do not run the same server as you. # Host : Map : Security : Passwd_mangle # # * : passwd.byname : port : yes # * : passwd.byuid : port : yes # Not everybody should see the shadow passwords, not secure, since # under MSDOG everbody is root and can access ports < 1024 !!! * : shadow.byname : port : yes * : passwd.adjunct.byname : port : yes # If you uploads/s3/ installation-domaine-nis.pdf

  • 149
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager