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

 Table des mati�res

























































 1. Version fran�aise

 2. Introduction

    2.1 Nouvelles versions de ce document
    2.2 Avertissement
    2.3 Retour d'information et corrections
    2.4 Remerciements

 3. Glossaire et informations g�n�rales

    3.1 Glossaire des termes employ�s
    3.2 Quelques informations g�n�rales

 4. NIS ou NIS+ ?

    4.1 libc 4/5 avec "NIS traditionnel" ou NYS ?

 5. Comment �a marche ?

    5.1 Comment fonctionne NIS(YP) ?
    5.2 Comment fonctionne NIS+ ?

 6. Le RPC Portmapper

 7. De quoi avez-vous besoin pour configurer NIS ?

    7.1 D�terminez si vous �tes un serveur, un esclave ou un client
    7.2 Les programmes
    7.3 Le d�mon ypbind
    7.4 Configurer un client NIS en utilisant le NIS traditionnel
    7.5 Configurer un client NIS en utilisant NYS
    7.6 Configurer un client NIS en utilisant la glibc 2.x
    7.7 Le fichier nsswitch.conf

 8. Mots de passe Shadow avec NIS et PAM

 9. Que faut-il pour configurer NIS+ ?

    9.1 Les programmes
    9.2 Configurer un client NIS+
    9.3 NIS+, keylogin, login et PAM
    9.4 Le fichier nsswitch.conf

 10. Configurer un serveur NIS

    10.1 Le programme serveur ypserv
    10.2 Le programme serveur yps
    10.3 Le programme rpc.yppasswdd

 11. V�rifier l'installation de NIS ou de NYS

 12. Probl�mes et erreurs de fonctionnement de NIS

 13. FAQ : Les questions les plus fr�quemment pos�es



 ______________________________________________________________________

 11..  VVeerrssiioonn ffrraann��aaiissee


 Ce document constitue la version fran�aise du NIS-HOWTO, adaptation
 r�alis�e par Fr�d�ric Veynachter ([email protected]), le 26
 juillet 1998, fortement inspir�e de la traduction pr�c�demment
 r�alis�e par �ric Dumas ([email protected]), le 19 Novembre 1997.

 Vous pouvez consulter ce document sur les sites suivants :

 �  http://www.freenix.fr/linux/HOWTO
    <http://www.freenix.fr/linux/HOWTO/>

 �  ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO
    <ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO/>

    ainsi que leurs nombreux miroirs.

 Pour plus de renseignements concernant la traduction en langue
 fran�aise des documents du LDP (_L_i_n_u_x _D_o_c_u_m_e_n_t_a_t_i_o_n _P_r_o_j_e_c_t),
 consultez le document "Liste-des-HOWTO" que l'on trouve aux m�mex
 endroits.

 Les diff�rents sites conseill�s dans  ce document poss�dent s�rement
 des miroirs plus proches de chez vous, comme par exemple ftp.lip6.fr,
 ftp.loria.fr ... utilisez-les !


 22..  IInnttrroodduuccttiioonn

 Les machines sous Linux sont de plus en plus souvent install�es et
 connect�es dans des r�seaux informatiques.Pour simplifier
 l'administration syst�me, la plupart des r�seaux (surtout ceux qui
 sont fond�s sur du mat�riel Sun) fonctionnent avec le _N_e_t_w_o_r_k
 _I_n_f_o_r_m_a_t_i_o_n _S_e_r_v_i_c_e. Les machines Linux peuvent tirer de nombreux
 avantages des services NIS existant, ou fournir elles-m�mes ces
 services. Elles peuvent �galement se comporter comme des clients NIS+,
 mais il s'agit encore d'une version b�ta.

 Ce document tente de r�pondre aux questions concernant la mise en
 place et la configuration de NIS(YP) et de NIS+ sur votre machine
 Linux. N'oubliez pas de lire la section concernant ``le Portmapper
 RPC''.

 Le NIS-Howto est r�dig� et maintenu par:


      Thorsten Kukuk, [email protected]


 La version initiale de ce document a �t� r�alis�e par:



      Andrea Dell'Amico       <[email protected]>
      Mitchum DSouza          <[email protected]>
      Erwin Embsen            <[email protected]>
      Peter Eriksson          <[email protected]>




 que nous tenons � remercier.


 22..11..  NNoouuvveelllleess vveerrssiioonnss ddee ccee ddooccuummeenntt

 Vous pourrez toujours trouver la derni�re version de ce document sur
 le web via l'URL http://sunsite.unc.edu/mdw/HOWTO/NIS-HOWTO.html
 <http://sunsite.unc.edu/mdw/HOWTO/NIS-HOWTO.html>.


 Les nouvelles versions de ce document seront �galement pr�sentes sur
 diff�rents sites ftp et web consacr�s � Linux, y compris sur la page
 principale du LDP (Linux Documentation Project).

 Des liens vers les traductions de ce document peuvent �tre trouv�s �
 l'adresse http://www-vt.uni-paderborn.de/~kukuk/linux/nis-howto.html
 <http://www-vt.uni-paderborn.de/~kukuk/linux/nis-howto.html>.


 22..22..  AAvveerrttiisssseemmeenntt

 M�me si ce document rassemble le maximum de donn�es selon notre
 connaissance, il peut contenir, et contient sans doute, certaines
 erreurs. Nous vous demandons de lire attentivement tous les fichiers
 README qui sont livr�s avec les outils d�crits dans ce document, pour
 avoir plus de d�tails et une information plus pr�cise.  Nous
 essayerons, dans la mesure du possible, d'�viter que des erreurs se
 glissent ans ce document.


 22..33..  RReettoouurr dd''iinnffoorrmmaattiioonn eett ccoorrrreeccttiioonnss

 Si vous avez des questions ou des commentaires � propos de ce
 document, n'h�sitez pas � envoyer un courrier �lectronique �
 [email protected].  J'accepte volontiers toutes les
 suggestions ou critiques. Si vous trouvez une anomalie ou une erreur
 dans ce document, merci de me le faire savoir, pour que je puisse la
 corriger dans la prochaine version.

 Merci de ne pas m'envoyer de questions concernant des probl�mes
 sp�cifiques � une distribution de Linux. Je ne les connais pas toutes.
 J'essayerai n�anmoins d'int�grer toute solution qui me sera envoy�e.


 22..44..  RReemmeerrcciieemmeennttss

 Nous voudrions remercier toutes les personnes qui ont contribu�
 (directement ou indirectement) � ce document. Par ordre alphab�tique :



      Byron A Jeff            <[email protected]>
      Miquel van Smoorenburg  <[email protected]>




 Theo de Raadt <[email protected]> est � l'origine du code yp-clients.
 Swen Thuemmler <[email protected]> a port� ce code pour Linux et
 il a �galement port� le code yp-routines pour la libc (toujours fond�
 sur le travail de Theo). Thorsten Kukuk a totalement r�-�crit toutes
 les routines NIS(YP) et NIS+ pour la GNU libc 2.x.


 33..  GGlloossssaaiirree eett iinnffoorrmmaattiioonnss gg��nn��rraalleess

 33..11..  GGlloossssaaiirree ddeess tteerrmmeess eemmppllooyy��ss

 Dans ce document, bon nombre d'acronymes sont employ�s. Voici la liste
 des plus utilis�s, avec une br�ve explication.


    DDBBMM
       DataBase Management (Gestion de la base de donn�es):
       biblioth�que de fonctions pour maintenir les clefs et le contenu
       de la base de donn�es.
    DDLLLL
       Dynamically Linked Library (Biblioth�que li�e dynamiquement):
       biblioth�que de fonctions charg�es dynamiquement � l'ex�cution.


    ddoommaaiinnnnaammee
       Nom du domaine : nom "clef" utilis� par les clients NIS pour
       qu'ils puissent trouver un serveur NIS convenable qui g�re la
       clef du domaine. Notez que cela n'a rien � voir avec le
       "domaine" DNS (nom de la machine) des machines.


    FFTTPP
       File Transfer Protocol  (Protocole de transfert de fichiers) :
       protocole utilis� pour transf�rer des fichiers entre deux
       ordinateurs.


    lliibbnnssll
       Name services library  : biblioth�que d'appels syst�mes (tels
       que getpwnam, getservbyname, ...)  sur les syst�mes Unix SVR4.
       La GNU libc utilise cette biblioth�que pour les fonctions NIS
       (YP) et NIS+.


    lliibbssoocckkeett
       Biblioth�que de fonctions de manipulation de sockets socket,
       bind, listen, ... sur les syst�mes SVR4.


    NNIISS
       Network Information Service (Service d'information du r�seau):
       service qui permet � certaines informations d'�tre connues par
       toutes les machines disponibles sur le r�seau. Ce service est
       g�r� dans la biblioth�que standard de la libc Linux. Il est
       consid�r� par la suite comme �tant le "NIS traditionnel".


    NNIISS++
       Network Information Service (Plus...)   : en gros, version de
       NIS am�lior�e. NIS+ a �t� con�u par Sun Microsystems Inc.  pour
       remplacer NIS, avec un niveau de s�curit� sup�rieur et une
       meilleure gestion pour les grosses installations.


    NNYYSS
       Il s'agit du nom d'un projet de d�veloppement et de
       standardisation pour NIS+, YP et Switch.  Il est dirig� par
       Peter Eriksson (<[email protected]>).  Il contient entre autres
       choses une r�impl�mentation compl�te du code de NIS
       (c'est-�-dire YP) qui utilise les fonctionnalit�s  _N_a_m_e _S_e_r_v_i_c_e_s
       _S_w_i_t_c_h de la biblioth�que NYS.


    NNSSSS
       Name Service Switch (litt�ralement, commutation des noms de
       service): le fichier /etc/nsswitch.conf d�termine l'ordre de
       recherche d'informations en fonction des services demand�s.


    RRPPCC
       Remote Procedure Call (Appel de proc�dure distante): les
       routines RPC permettent aux programmes C d'appeler d'autres
       machines � travers le r�seau.  Lorsque des personnes parlent de
       RPC, elles parlent souvent en fait de la version Sun RPC.

    YYPP Yellow Pages(tm)  : marque d�pos�e par British Telecom. (les
       pages jaunes... comme les n�tres !).


    TTCCPP--IIPP
       Transmission Control Protocol/Internet Protocol : protocole de
       communication le plus fr�quemment utilis� sur les machines Unix.


 33..22..  QQuueellqquueess iinnffoorrmmaattiioonnss gg��nn��rraalleess

 Les quatre lignes ci-dessous sont une citation du manuel
 d'administration r�seau de Sun(TM) System.



          "NIS was formerly known as Sun Yellow Pages (YP) but
           the name Yellow Pages(tm) is a registered trademark
           in the United Kingdom of British Telecom plc and may
           not be used without permission."

          "NIS etait formellement connu sous le nom de
           Yellow Pages (YP) (Pages Jaunes) mais le nom
           Yellow Pages(tm) est une marque enregistree au
           Royaume Uni par British Telecom et ne peut etre
           utilisee sans autorisation."




 NIS est l'abr�viation pour _N_e_t_w_o_r_k _I_n_f_o_r_m_a_t_i_o_n _S_e_r_v_i_c_e (Service
 d'Information R�seau).  Son but est de fournir des informations, qui
 doivent �tre connues sur l'ensemble du r�seau, � toutes les machines
 connect�es. Les informations susceptibles d'�tre distribu�es par NIS
 sont:


 �  noms de login, mots de passe, r�pertoires d'ouverture (/etc/passwd)

 �  renseignements sur les groupes d'utilisateurs (/etc/group)

 Par exemple, si votre mot de passe et les informations s'y rattachant
 sont enregistr�s dans la base de donn�es NIS, vous pourrez vous loguer
 sur toutes les machines du r�seau sur lesquelles un client NIS est
 lanc�.

 Sun est une marque d�pos�e de Sun Microsystems Inc, brevet�e par
 SunSoft, Inc.



 44..  NNIISS oouu NNIISS++ ??

 Le choix entre NIS et NIS+ est facile � faire : utilisez NIS tant que
 vous n'avez pas besoin d'utiliser NIS+ ou si vous avez des besoins de
 s�curit� importants. NIS+ est bien plus probl�matique � administrer
 (c'est plut�t facile � manipuler du c�t� du client, mais en ce qui
 concerne le c�t� serveur, c'est une horreur). Un autre probl�me est
 que le support de NIS+ pour Linux est encore en cours de d�veloppement
 : vous devrez avoir la toute derni�re version de glibc ou attendre la
 sortie de glibc 2.1. Il existe un portage du NIS+ glibc pour libc5,
 qui consiste � installer une libc de remplacement.




 44..11..  lliibbcc 44//55 aavveecc ""NNIISS ttrraaddiittiioonnnneell"" oouu NNYYSS ??

 Le choix entre "NIS traditionnel" ou le code NIS dans la biblioth�que
 NYS est un choix entre paresse et maturit� d'un c�t�, flexibilit� et
 amour de l'aventure de l'autre.

 Le code "NIS traditionnel" se trouve dans la biblioth�que C standard,
 existe depuis fort longtemps, et souffre parfois de son age et de son
 l�ger manque de souplesse.

 Le code NIS de la biblioth�que NYS vous oblige � recompiler la
 biblioth�que libc pour y inclure le code NYS (� moins que vous ne
 trouviez une version de libc pr�compil�e chez quelqu'un qui l'a d�j�
 fait).

 Une autre diff�rence est que le code "NIS traditionnel" g�re en partie
 les groupes de r�seaux NIS (_N_e_t_g_r_o_u_p_s), alors que le code NYS ne le
 fait pas. D'un autre c�t�, le code NYS vous permet d'utiliser les mots
 de passe Shadow d'une mani�re transparente.  Le code "NIS
 traditionnel" ne permet pas d'utiliser les mots de passe Shadow sur
 NIS.

 Vous pouvez cependant oublier tout �a si vous utilisez la nouvelle
 biblioth�que GNU C 2.x (alias libc6). Elle comporte un vrai support de
 NSS (_N_a_m_e _S_w_i_t_c_h _S_e_r_v_i_c_e), ce qui la rend vraiment souple, et elle est
 capable de g�rer les "maps" NIS/NIS+ suivantes : aliases, ethers,
 group, hosts, netgroups, networks, protocols, publickey, passwd, rpc,
 services et shadow. La biblioth�que GNU C ne pose aucun probl�me avec
 les mots de passe Shadow sur NIS.


 55..  CCoommmmeenntt ��aa mmaarrcchhee ??

 55..11..  CCoommmmeenntt ffoonnccttiioonnnnee NNIISS((YYPP)) ??

 A l'int�rieur d'un r�seau, il doit y avoir au moins une machine
 faisant office de serveur NIS. Vous pouvez avoir plusieurs serveurs
 NIS, chacun g�rant plusieurs "domaines" NIS, ou bien vous pouvez avoir
 des serveurs NIS coop�ratifs. Dans ce cas, l'un d'entre eux est dit
 serveur NIS _m_a_�_t_r_e, les autres �tant serveurs NIS esclaves. Vous
 pouvez �galement m�langer les deux possibilit�s.

 Les serveurs esclaves n'ont qu'une copie de la base de donn�es et la
 re�oivent du serveur NIS ma�tre lorsque des changement sont effectu�s
 dans la base de donn�es. En fonction du nombre de machine et de la
 fiabilit� de votre r�seau, vous pouvez d�cider d'installer un ou
 plusieurs serveurs esclaves. Lorsqu'un serveur NIS tombe en panne ou
 bien s'il est trop long pour r�pondre aux requ�tes, un client NIS
 connect� � ce serveur va alors essayer d'en trouver un en �tat de
 marche.

 Les bases de donn�es NIS sont au format DBM, un d�riv� des bases de
 donn�es ASCII. Par exemple, les fichiers /etc/passwd et /etc/group
 peuvent �tre directement convertis dans le format DBM en utilisant un
 programme de conversion _A_S_C_I_I_-_t_o_-_D_B_M (makedbm est inclus dans les
 programmes du serveur). Le serveur NIS ma�tre devrait avoir les deux
 types : la base ASCII et la base DBM.

 Les serveurs esclaves seront avertis de tout changement dans les
 tables NIS (gr�ce au programme yppush), et effectueront
 automatiquement les changements n�cessaires pour synchroniser leurs
 bases de donn�es. Les clients NIS n'ont pas besoin d'effectuer cette
 op�ration puisqu'ils communiquent tout le temps avec le serveur NIS
 pour lire les informations rang�es dans les bases de donn�es DBM.


 L'auteur des clients YP pour Linux nous a inform� que la nouvelle
 version de ypbind (situ�e dans l'archive ypbind-3.3.tar.gz) permet
 d'indiquer le serveur NIS � contacter dans un fichier de
 configuration, ce qui �vite d'effectuer un _b_r_o_a_d_c_a_s_t (ce qui n'est pas
 s�curis� car n'importe qui peut installer un serveur NIS et peut donc
 r�pondre aux requ�tes...).


 55..22..  CCoommmmeenntt ffoonnccttiioonnnnee NNIISS++ ??

 NIS+ est une nouvelle version du service d'information r�seau de Sun.
 La diff�rence la plus notable entre NIS et NIS+ est que NIS+ est
 capable de g�rer des donn�es chiffr�es ainsi que l'authentification
 _v_i_a les RPC s�curis�s.

 Le mod�le de nommage de NIS+ est bas� sur une structure arborescente.
 Chaque noeud de l'arbre correspond � un objet NIS+, � partir duquel
 nous avons six types : directory, entry, group, link, table et private
 (r�pertoire, entr�e, groupe, lien, table et priv�).

 Le r�pertoire NIS+ qui constitue la racine de l'espace de nommage NIS+
 est appel� le r�pertoire racine. Il existe deux r�pertoires sp�ciaux
 NIS+ : org_dir et groups_dir. Le premier regroupe toutes les tables
 d'administration, telles que passwd, hosts, et mail_aliases.  Le
 second r�pertoire contient les objets groupe NIS+ qui sont utilis�s
 pour contr�ler les acc�s. L'ensemble des r�pertoires org_dir,
 groups_dir et leurs parents sont consid�r�s comme �tant un domaine
 NIS+.


 66..  LLee RRPPCC PPoorrttmmaappppeerr

 Pour lancer n'importe lequel des programmes mentionn�s ci-dessous,
 vous aurez besoin de lancer le programme /usr/sbin/rpc.portmap.
 Certaines distributions de LLiinnuuxx ont d�j� dans le code du script
 /etc/rc.d/rc.inet2  ce qui est n�cessaire pour lancer ce d�mon.  Tout
 ce que vous avez � faire, c'est de d�commenter ce qui est n�cessaire
 puis � rebooter votre machine pour l'activer.  Lisez la documentation
 de votre distribution pour plus de d�tails.

 Le RPC portmapper (portmap(8)) est un serveur qui convertit les
 num�ros des programmes RPC en num�ros de ports pour le protocole
 TCP/IP (ou UDP/IP). Il doit �tre lanc� dans un certain ordre pour
 r�aliser les appels RPC (ce que fait le programme client NIS/NIS+)
 vers les serveurs (comme par exemple un serveur NIS/NIS+) sur cette
 machine.  Lorsque le serveur RPC est lanc�, il va indiquer au d�mon
 portmap quel num�ro de port il scrute, et quels sont les num�ros de
 programmes RPC avec lesquels il est pr�t � travailler. Lorsque le
 client souhaite r�aliser un appel RPC � certain num�ro de programme,
 il contacte dans un premier temps portmap sur le serveur de la machine
 pour d�terminer le num�ro de port o� il doit alors envoyer les paquets
 RPC.

 En principe, les serveurs RPC standards sont lanc�s par inetd (manuel
 inetd(8)), donc portmap doit �tre lanc� avant qu'inetd ne le soit.

 Pour les RPC s�curis�s, le portmapper a besoin des services d'horloge.
 Assurez-vous qu'ils sont activ�s dans le fichier /etc/inetd.conf sur
 toutes les machines :







 #
 # Time service is used for clock syncronization.
 #
 time    stream  tcp     nowait  root    internal
 time    dgram   udp     wait    root    internal




 IMPORTANT : n'oubliez pas de relancer inetd apr�s toute modification
 de ce fichier !


 77..  DDee qquuooii aavveezz--vvoouuss bbeessooiinn ppoouurr ccoonnffiigguurreerr NNIISS ??



 77..11..  DD��tteerrmmiinneezz ssii vvoouuss ��tteess uunn sseerrvveeuurr,, uunn eessccllaavvee oouu uunn cclliieenntt

 Pour r�pondre � cette question, nous pouvons consid�rer deux cas :

 1. votre machine va �tre ins�r�e dans un r�seau avec des serveurs NIS
    d�j� existants ;

 2. vous n'avez pas encore de serveur NIS dans votre r�seau.

 Dans le premier cas, vous n'aurez besoin que des programmes clients
 (ypbind, ypwhich, ypcat, yppoll, ypmatch). Le programme le plus
 important est ypbind. Ce d�mon doit toujours �tre lanc�, c'est-�-dire
 qu'il doit toujours appara�tre dans la liste des processus.  Comme
 c'est un d�mon, il doit �tre lanc� au d�marrage de votre machine dans
 le fichier de d�marrage (/etc/rc.local, /etc/init.d/nis,
 /etc/rc.d/init.d/ypbind).  D�s que ypbind fonctionne, votre syst�me
 devient un client NIS.

 Dans le second cas, vous n'avez pas de serveur NIS, donc vous aurez
 �galement besoin d'un programme serveur NIS (g�n�ralement ypserv).  La
 section 10 ( _1_0 _C_o_n_f_i_g_u_r_e_r _u_n _s_e_r_v_e_u_r _N_I_S ) d�crit comment configurer
 un serveur NIS sur votre machine Linux en utilisant la version ypserv
 impl�ment�e par Peter Eriksson et Thorsten Kukuk. On peut remarquer
 qu'� partir de la version 0.14 de cette impl�mentation, le concept de
 ma�tre-esclave dont nous avons parl� dans la section 5.1 est g�r�.

 Il existe �galement un autre serveur NIS en libre distribution, appel�
 yps, �crit par Tobias Reber en Allemagne, et qui g�re le concept de
 ma�tre-esclave mais qui a d'autres limitations et qui n'est plus
 maintenu.


 77..22..  LLeess pprrooggrraammmmeess

 La biblioth�que /usr/lib/libc.a (version 4.4.2 et sup�rieure) ou la
 biblioth�que dynamique partag�e /lib/libc.so.x contient tous les
 appels syst�mes correspondants pour compiler sans probl�me les
 programmes clients et serveurs NIS.  Pour la glibc 2.x, vous aurez
 �galement besoin de /lib/libnsl.so.1.

 Certaines personnes ont signal� que NIS ne fonctionne qu'avec
 /usr/lib/libc.a version 4.5.21 et sup�rieure, donc, pour plus de
 s�ret�, �vitez d'utiliser des biblioth�ques plus anciennes.  Les
 clients NIS peuvent �tre r�cup�r�s sur les sites suivants :





   Site                   Repertoire                      Nom du fichier

   ftp.kernel.org        /pub/linux/utils/net/NIS         yp-tools-2.0.tar.gz
   ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-mt-1.2.tar.gz
   ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-3.3.tar.gz
   sunsite.unc.edu       /pub/Linux/system/Network/admin  yp-clients-2.2.tar.gz
   ftp.uni-paderborn.de  /linux/local/yp                  yp-clients-2.2.tar.gz
   ftp.uni-paderborn.de  /linux/local/yp                  ypbind-3.3.tar.gz




 Une fois que vous aurez r�cup�r� ces programmes, suivez les
 instructions qui sont livr�es avec. yp-clients 2.2 doit �tre utilis�
 avec les biblioth�ques libc4 et libc5 jusqu'� la version 5.4.20. Les
 libc 5.4.21 et glibc 2.x n�cessitent yp-tools 1.4.1. La nouvelle
 version yp-tools 2.0 fonctionnera avec toutes les libc Linux. Vous ne
 devriez pas utiliser les libc 5.4.21 - 5.4.35 car elles pr�sentent de
 nombreux d�fauts. Utilisez la libc 5.4.36 ou une version sup�rieure,
 sinon, la plupart des programmes de YP ne fonctionneront pas. ypbind
 3.3 fonctionnera �galement avec toutes les biblioth�ques. Vous ne
 devriez jamais utiliser la version ypbind qui est fournie dans yp-
 clients 2.2.


 77..33..  LLee dd��mmoonn yyppbbiinndd


 Nous supposons que vous avez compil� correctement les programmes et
 que vous �tes pr�t � les installer. L'endroit o� installer le d�mon
 ypbind est le r�pertoire /usr/sbin. Certains peuvent vous dire que
 vous n'avez pas besoin de ypbind sur un syst�me qui utilise NYS. C'est
 faux : ypwhich et ypcat en ont besoin.

 Vous  devez r�aliser cette op�ration en tant que super-utilisateur
 (i.e. "root"), bien s�r.  Les autres binaires (ypwhich, ypcat, yppoll,
 ypmatch) doivent �tre plac�s dans un r�pertoire accessible � tous les
 utilisateurs, normalement c'est le r�pertoire /usr/bin qui est
 utilis�.

 Le programme ypbind a besoin d'un fichier de configuration
 /etc/yp.conf. Vous pouvez y indiquer, en dur, le nom du serveur NIS.
 Pour plus d'informations, consultez la page de manuel de ypbind(8).
 Vous aurez �galement besoin de ce ficher pour NYS.  Un court exemple :


        ypserver voyager
        ypserver ds9




 Si le syst�me est capable de r�soudre les noms de machine sans NIS,
 vous pouvez utiliser le nom de la machine. Dans le cas contraire,
 utilisez l'adresse IP.

 Il est souhaitable de tester ypbind avant de l'inclure dans les
 fichiers de /etc/rc.d/. Pour tester ypbind faites ceci :

 �  V�rifiez que votre nom de domaine est d�fini. Si ce n'est pas le
    cas, faites





             /bin/domainname-yp nis.domain






 o� nis.domain doit �tre une cha�ne, qui n'a normalement RIEN A VOIR
 avec le nom de votre machine ! La raison est que cela rend plus diffi�
 cile le travail des pirates pour trouver les mots de passe de la base
 de donn�es du serveurs NIS. Si vous ne connaissez pas le nom du
 domaine de votre r�seau, contactez votre administrateur syst�me.

 �  Lancez /usr/sbin/rpc.portmap s'il ne tourne pas d�j�.

 �  Cr�ez le r�pertoire /var/yp s'il n'existe pas.

 �  Lancez /usr/sbin/ypbind

 �  Utilisez la commande rpcinfo -p localhost pour v�rifier qu'ypbind
    est capable d'enregistrer ses services dans portmapper. La commande
    rpcinfo devrait produire un message de ce style :


             program vers proto   port
              100000    2   tcp    111  portmapper
              100000    2   udp    111  portmapper
              100007    2   udp    637  ypbind
              100007    2   tcp    639  ypbind
              300019    1   udp    660






 �  Vous pouvez �galement lancer rpcinfo -u localhost ypbind.  Cette
    commande devrait alors produire :



              program 100007 version 2 ready and waiting





 Vous devriez alors �tre capable d'utiliser les programmes clients tels
 que ypcat, etc. Par exemple, ypcat passwd vous donne la liste des mots
 de passe (chiffr�s !) de la base de donn�es NIS.

 IMPORTANT : si vous avez �vit� la proc�dure de test, v�rifiez que vous
 avez positionn� le nom de votre domaine, et cr�� le r�pertoire :



          /var/yp




 Ce r�pertoire DOIT exister pour qu'ypbind soit correctement lanc�.

 Pour v�rifier que le nom de domaine est correctement configurer,
 utilisez le programme /bin/ypdomainname, fourni avec yp-tools 2.0. Il
 utilise la fonction _y_p___g_e_t___d_e_f_a_u_l_t___d_o_m_a_i_n, qui est plus restrictive.
 Elle n'autorise pas, par exemple, le nom de domaine "(none)", qui est
 celui par d�faut avec Linux et qui cr�e de nombreux probl�mes.

 Si le test a fonctionn�, vous pouvez alors modifier les fichiers
 /etc/rc.d sur votre syst�me pour qu'ypbind soit lanc� lors de
 l'amor�age de la machine et pour que votre machine se comporte comme
 un client NIS. Assurez-vous que le nom de domaine soit configur� lors
 de l'amor�age.

 Normalement, tout est pr�t. Relancez votre machine et observez les
 messages pour voir si ypbind est lanc�.


 77..44..  CCoonnffiigguurreerr uunn cclliieenntt NNIISS eenn uuttiilliissaanntt llee NNIISS ttrraaddiittiioonnnneell


 Pour la recherche de noms de machines, vous devez ajouter "nis" dans
 la ligne "host" du fichier /etc/host.conf. Lisez la page de manuel
 "resolv+.8" pour plus de d�tails.

 Ajoutez ensuite la ligne suivante dans le fichier /etc/passwd de vos
 machines clientes :



      +::::::




 Vous pouvez �galement utiliser les caract�res + et - pour
 inclure/exclure ou modifier certains utilisateurs. Si vous souhaitez
 exclure l'utilisateur guest, ajoutez -guest � votre fichier
 /etc/passwd. Si vous souhaitez utiliser un interpr�teur de commandes
 diff�rent (par exemple ksh) pour l'utilisateur "linux", ajoutez la
 ligne +linux::::::/bin/ksh.  Les champs que vous ne souhaitez pas
 modifier doivent rester vides.  Vous pouvez �galement utiliser les
 Netgroups pour g�rer les utilisateurs.

 Par exemple, pour n'utiliser que les login miquels, dth et ed, ainsi
 que tous les membres du netgroup sysadmin, tout en ayant quand m�me
 acc�s aux comptes des autres utilisateurs :



            +miquels:::::::
            +ed:::::::
            +dth:::::::
            +@sysadmins:::::::
            -ftp
            +:*::::::/etc/NoShell




 Remarquez qu'avec Linux, vous pouvez �galement surcharger le champ mot
 de passe, comme nous l'avons fait dans cet exemple. Nous avons
 �galement supprim� le login "ftp" : cet utilisateur n'est plus connu
 sur la machine et le ftp anonyme ne fonctionnera pas.

 Le netgroup peut �tre d�fini de la sorte :


      sysadmins (-,software,) (-,kukuk,)


 IMPORTANT : la fonctionnalit� de netgroup n'est impl�ment�e qu'�
 partir de la libc version 4.5.26. Mais si vous poss�dez une libc plus
 ancienne que la 4.5.26, tout utilisateur dans la base de donn�e des
 mots de passe peut acc�der � la machine linux si vous lancez ypbind.


 77..55..  CCoonnffiigguurreerr uunn cclliieenntt NNIISS eenn uuttiilliissaanntt NNYYSS


 Il vous suffit d'avoir le fichier de configuration NIS (/etc/yp.conf)
 qui pointe sur le (ou les) serveur(s) ad�quat(s), ainsi qu'un fichier
 /etc/nsswitch.conf correctement configur�.

 Vous devriez �galement installer ypbind. Il n'est pas n�cessaire pour
 la libc, mais les outils NIS(YP) en ont besoin.

 Si vous souhaitez utiliser les fonctionnalit�s d'inclusion/exclusion
 d'utilisateurs (+/-guest/+@admins), vous devez utiliser "passwd:
 compat" et "group: compat".  Notez qu'il n'existe pas de "shadow:
 compat" !  Vous devez utiliser "shadow: files nis" dans ce dernier
 cas.

 Les sources de NYS sont fournies avec les sources de libc5. Lorsque
 vous lancez la configuration pour la premi�re fois, r�pondez "NO" � la
 question "Values correct" (NDT: en fran�ais, "Est-ce que les valeurs
 sont correctes ?"), puis r�pondez "YES" � la question "Build a NYS
 libc from nys" (NDT: en fran�ais, "Construire une libc NYS � partir de
 nys ?").


 77..66..  CCoonnffiigguurreerr uunn cclliieenntt NNIISS eenn uuttiilliissaanntt llaa gglliibbcc 22..xx


 La glibc utilise la version "NIS traditionnelle", donc vous devrez
 lancer ypbind. Le fichier /etc/nsswitch.conf doit �galement �tre
 correctement configur�. Si vous utilisez le mode compat pour les
 tables passwd, shadow ou group, vous devez ajouter le caract�re "+" �
 la fin de ces fichiers, et vous pourrez alors utiliser les
 fonctionnalit�s d'inclusion/d'exclusion d'utilisateurs.  La
 configuration est exactement la m�me que sous Solaris 2.x.


 77..77..  LLee ffiicchhiieerr nnsssswwiittcchh..ccoonnff


 Le fichier de configuration /etc/nsswitch.conf d�termine l'ordre dans
 lequel sont effectu�es les recherches de certaines informations, en
 fonction des donn�es et des services, de la m�me mani�re que le
 fichier /etc/host.conf d�termine la fa�on dont les recherches de noms
 de machines se font. Par exemple, la ligne



          hosts: files nis dns




 indique que la recherche d'un nom de machine sera d'abord effectu�e
 dans le fichier local /etc/hosts, puis dans la table NIS et enfin en
 utilisant le DNS (/etc/resolv.conf et named). Si aucune machine ne
 correspond, alors une erreur est renvoy�e. Ce fichier doit �tre
 accessible en lecture pour tous les utilisateurs !

 Voici un bon exemple de fichier /etc/nsswitch.conf pour NIS:

 #
 # /etc/nsswitch.conf
 #
 # Un exemple de configuration de NSS (Name Service Switch). Ce fichier doit
 # etre trie en mettant en tete les services les plus utilises.
 #
 # L'entree '[NOTFOUND=return]' signifie que la recherche d'une entree
 # doit s'arreter si la recherche dans l'entree precedente n'a rien donne
 # Notez que si la recherche echoue pour tout autre raison
 # (par exemple, le serveur NIS ne repond pas), alors la recherche continue
 # avec l'entree suivante.
 #
 # Les entrees connues sont :
 #
 #       nisplus                 NIS+ (NIS version 3)
 #       nis                     NIS (NIS version 2), connu comme YP
 #       dns                     DNS (Domain Name Service)
 #       files                   Fichiers locaux
 #       db                      Bases de donnees /var/db
 #       [NOTFOUND=return]       Arret de la recherche si l'on n'a rien trouve
 #

 passwd:     compat
 group:      compat
 shadow:     compat

 passwd_compat: nis
 group_compat: nis
 shadow_compat: nis

 hosts:      nis files dns

 services:   nis [NOTFOUND=return] files
 networks:   nis [NOTFOUND=return] files
 protocols:  nis [NOTFOUND=return] files
 rpc:        nis [NOTFOUND=return] files
 ethers:     nis [NOTFOUND=return] files
 netmasks:   nis [NOTFOUND=return] files
 netgroup:   nis
 bootparams: nis [NOTFOUND=return] files
 publickey:  nis [NOTFOUND=return] files
 automount:  files
 aliases:    nis [NOTFOUND=return] files




 Les entr�es passwd_compat, group_compat et shadow_compat ne sont
 g�r�es qu'avec la glibc 2.x. S'il n'y a pas d'entr�e shadow dans
 /etc/nsswitch.conf, la glibc utilisera l'entr�e passwd pour effectuer
 ses recherches. Il existe certaines entr�es suppl�mentaires avec la
 glibc comme hesoid. Pour plus d'informations, consultez la
 documentation de la glibc.


 88..  MMoottss ddee ppaassssee SShhaaddooww aavveecc NNIISS eett PPAAMM

 L'utilisation des mots de passe Shadow avec NIS est toujours une
 mauvaise id�e.  Vous perdez toute la s�curit� apport�e par le syst�me
 Shadow. Une bonne fa�on d'�viter les mots de passe Shadow avec NIS est
 de ne mettre dans le fichier /etc/shadow que les utilisateurs du
 syst�me local. Enlevez de la base de donn�es Shadow toutes les entr�es
 correspondant aux utilisateurs NIS, et remettez les mots de passe dans
 /etc/passwd. Vous pourrez ainsi utiliser le syst�me Shadow pour le
 super-utilisateur (i.e. "root"), et les mots de passe classiques pour
 les utilisateurs NIS. Cette solution a l'avantage de pouvoir
 fonctionner avec tous les clients NIS.

 Si cette option n'est pas possible pour vous, il faudra utiliser la
 biblioth�que GNU C 2.x. C'est la seule biblioth�que libc pour Linux
 qui g�re l'utilisation des mots de passe Shadow avec NIS. Sous Linux,
 la libc5 ne le permet pas. La libc5 compil�e avec le support de NYS
 contient une partie de code permettant le m�lange Shadow - NIS, mais
 ce code pr�sente de s�rieuses erreurs dans certains cas et ne
 fonctionne pas correctement avec toutes les entr�es Shadow.

 Le probl�me suivant est PAM. La biblioth�que GNU C g�re l'utilisation
 des mots de passe Shadow avec NIS, mais PAM ne le fait pas,
 essentiellement  pam_pwdb/libpwdb.  C'est un gros probl�me pour les
 utilisateurs de RedHat 5.x. Si vous avez glibc et PAM, vous devez
 changer les entr�es dans /etc/pam.d/*. Changez toutes les entr�es de
 pam_pwdb par l'interm�diaire des modules pam_auth_unix_*. Cette
 m�thode devrait fonctionner.


 99..  QQuuee ffaauutt--iill ppoouurr ccoonnffiigguurreerr NNIISS++ ??



 99..11..  LLeess pprrooggrraammmmeess


 Le code de NIS+ pour Linux a �t� d�velopp� pour la biblioth�que GNU C
 2.  Il existe �galement une version pour la libc5 de Linux, puisque
 toutes les applications commerciales sont compil�es en �dition de lien
 avec cette biblioth�que, et que vous ne pouvez pas les recompiler en
 utilisant la glibc. Il y a des probl�mes avec la libc5 et NIS+: Vous
 ne pourrez pas r�aliser d'�dition de lien statique de vos programmes,
 et les programmes compil�s avec cette biblioth�que ne fonctionneront
 pas avec les autres versions de la libc5.

 Vous devez r�cup�rer et recompiler la derni�re version de la glibc2,
 et une distribution bas�e sur cette biblioth�que comme la Redhat
 Mustang ou l'instable Debian. Mais attention : il s'agit toujours
 d'une version b�ta. Lisez la documentation concernant la glibc et
 celle fournie par la distribution.  La glibc2.0.x ne g�re pas
 pleinement NIS+, et ne l'int�grera jamais. La premi�re version avec la
 gestion NIS+ sera la 2.1.

 Les programmes clients NIS+ peuvent �tre r�cup�r�s sur les sites :


        Site                   Repertoire                 Nom du fichier

        ftp.kernel.org         /pub/software/libs/glibc   libc-*, glibc-crypt-*,
                                                          glibc-linuxthreads-*
        ftp.kernel.org         /pub/linux/utils/net/NIS+  nis-tools-1.4.2.tar.gz
        ftp.kernel.org         /pub/linux/utils/net/NIS+  pam_keylogin-1.2.tar.gz




 Les distributions bas�es sur la glibc peuvent �tre r�cup�r�es sur les
 sites :


        Site                   Repertoire

        ftp.redhat.com         /pub/redhat/redhat-5.1
        ftp.debian.org         /pub/debian/dists/hamm


 Pour compiler la glibc, suivez les instructions livr�es avec les
 sources.  Vous pouvez trouver � l'adresse suivante la version patch�e
 de la libc5, bas�e sur NYS et sur les sources de la glibc, qui peut
 �tre utilis�e pour remplacer la libc5.



        Site                   Repertoire                 Nom du fichier

        ftp.kernel.org         /pub/linux/utils/net/NIS+  libc-5.4.44-nsl-0.4.10.tar.gz




 Vous pouvez �galement consulter le site http://www-vt.uni-
 paderborn.de/~kukuk/linux/nisplus.html <http://www-vt.uni-
 paderborn.de/~kukuk/linux/nisplus.html> pour plus d'informations ainsi
 que pour avoir les derni�res sources.


 99..22..  CCoonnffiigguurreerr uunn cclliieenntt NNIISS++


 IMPORTANT : pour configurer un client NIS+, lisez la documentation
 NIS+ Solaris pour voir ce qu'il convient de faire du c�t� serveur.  Ce
 document ne d�crit que le c�t� client !

 Apr�s avoir install� la nouvelle libc ainsi que nis-tools, cr�ez les
 r�f�rences pour le nouveau client sur le serveur NIS+. Assurez vous
 que portmap est lanc�.  Ensuite, v�rifiez que votre PC Linux est � la
 m�me heure que le serveur NIS+. Pour r�aliser des RPC s�curis�s, vous
 disposez d'une courte p�riode de 3 minutes, durant lesquelles les
 r�f�rences sont valides. Lancer xntpd sur toutes les machines peut
 �tre une bonne id�e. Apr�s tout �a, ex�cutez les commandes suivantes :



      domainname nisplus.domain.
      nisinit -c -H <serveur NIS+>




 pour initialiser le syst�me de lancement. Lisez la page de manuel de
 nisinit pour conna�tre les diff�rentes options existantes.  Assurez-
 vous que le nom de domaine est toujours bien positionn� lors d'un
 r�amor�age. Si vous ne connaissez pas votre nom de domaine NIS+ sur
 votre r�seau, demandez-le � votre administrateur syst�me.

 Pensez �galement � modifier votre ficher /etc/nsswitch.conf.  Assurez-
 vous que le seul service situ� avec publickey est nisplus ("publickey:
 nisplus"), et rien d'autre !

 Ensuite, lancez keyserv et assurez-vous qu'il sera toujours lanc� lors
 de l'amor�age de la machine. Lancez


      keylogin -r




 pour conserver la clef priv�e sur votre syst�me (j'esp�re que vous
 avez ajout� la clef publique de la nouvelle machine sur le serveur
 NIS+ !).

 "niscat passwd.org_dir" doit d�sormais vous donner toutes les entr�es
 contenues dans la base de donn�es passwd.


 99..33..  NNIISS++,, kkeeyyllooggiinn,, llooggiinn eett PPAAMM

 Lorsque l'utilisateur se connecte, il a besoin de fixer sa clef
 secr�te sur le serveur de clef. Cela est effectu� en appelant
 keylogin.  Le login � partir du paquetage shadow fera cela � la place
 de l'utilisateur. Pour un login de type PAM, vous devez installer
 pam_keylogin-1.1.tar.gz et modifier le fichier /etc/pam.d/login pour
 utiliser pam_unix_auth, et non pwdb qui ne g�re pas NIS+. Voici un
 exemple :



      #%PAM-1.0
      auth       required     /lib/security/pam_securetty.so
      auth       required     /lib/security/pam_keylogin.so
      auth       required     /lib/security/pam_unix_auth.so
      auth       required     /lib/security/pam_nologin.so
      account    required     /lib/security/pam_unix_acct.so
      password   required     /lib/security/pam_unix_passwd.so
      session    required     /lib/security/pam_unix_session.so





 99..44..  LLee ffiicchhiieerr nnsssswwiittcchh..ccoonnff


 Le fichier de configuration /etc/nsswitch.conf d�termine l'ordre dans
 lequel sont effectu�es les recherches de certaines informations, en
 fonction des donn�es et des services, de la m�me mani�re que le
 fichier /etc/host.conf d�termine la fa�on dont les recherches de noms
 de machines se font. Par exemple, la ligne



          hosts: files nisplus dns




 indique que la fonction de recherche doit dans un premier temps
 chercher dans le fichier local /etc/hosts, suivi par une recherche
 NIS+ et enfin _v_i_a le service de recherche de noms (/etc/resolv.conf et
 named).  � ce moment l�, si aucune machine n'est trouv�e, alors une
 erreur est renvoy�e.

 Voici un exemple de bon fichier /etc/nsswitch.conf














 # Un exemple de configuration de NSS. Ce fichier doit etre trie en
 # mettant en tete les services les plus utilises.
 #
 # L'entree '[NOTFOUND=return]' signifie que la recherche d'une entree
 # doit s'arreter si la recherche dans l'entree precedente n'a rien donne
 # Notez que si la recherche echoue pour tout autre raison
 # (par exemple, le serveur NIS ne repond pas), alors la recherche continue
 # avec l'entree suivante.
 #
 # Les entrees connues sont :
 #
 #       nisplus                 NIS+ (NIS version 3)
 #       nis                     NIS (NIS version 2), connu comme YP
 #       dns                     DNS (Domain Name Service)
 #       files                   Fichiers locaux
 #       db                      Bases de donnees /var/db
 #       [NOTFOUND=return]       Arret de la recherche si l'on a rien trouve
 #
 passwd:     compat
 # pour libc5: passwd: files nisplus
 group:      compat
 # pour libc5: group: files nisplus
 shadow:     compat
 # pour libc5: shadow: files nisplus

 passwd_compat: nisplus
 group_compat:  nisplus
 shadow_compat: nisplus

 hosts:      nisplus files dns

 services:   nisplus [NOTFOUND=return] files
 networks:   nisplus [NOTFOUND=return] files
 protocols:  nisplus [NOTFOUND=return] files
 rpc:        nisplus [NOTFOUND=return] files
 ethers:     nisplus [NOTFOUND=return] files
 netmasks:   nisplus [NOTFOUND=return] files
 netgroup:   nisplus
 bootparams: nisplus [NOTFOUND=return] files
 publickey:  nisplus
 automount:  files
 aliases:    nisplus [NOTFOUND=return] files





 1100..  CCoonnffiigguurreerr uunn sseerrvveeuurr NNIISS



 1100..11..  LLee pprrooggrraammmmee sseerrvveeuurr yyppsseerrvv


 Ce document ne d�crit que la mani�re de configurer le serveur NIS
 "ypserv".

 Les programmes serveur NIS peuvent �tre trouv�s sur :



        Site                   Repertoire                    Nom de fichier

        ftp.kernel.org         /pub/linux/utils/net/NIS      ypserv-1.3.2.tar.gz
        wauug.erols.com        /pub/net/nis                  ypserv-1.3.2.tar.gz

 Vous pouvez �galement regarder le document http://www-vt.uni-
 paderborn.de/~kukuk/linux/nis.html <http://www-vt.uni-
 paderborn.de/~kukuk/linux/nis.html> pour obtenir de plus amples
 informations ainsi que les sources.

 La configuration du serveur est la m�me que cela soit le NIS
 traditionnel ou NYS.

 Compilez les sources pour g�n�rer les programmes "ypserv" et
 "makedbm".  Si votre serveur est consid�r� comme ma�tre, d�terminez
 quels fichiers vous souhaitez rendre disponibles via NIS et ajoutez ou
 supprimez les entr�es appropri�es dans /var/yp/Makefile.

 Il y a une seule grande diff�rence entre ypserv 1.1 et ypserv 1.2.
 Depuis la version 1.2, ypserv utilise une m�moire cache pour les
 manipulations de fichiers.  Cela signifie que vous devez toujours
 appeler makedbm avec l'option -c si cr�ez de nouvelles maps. Assurez-
 vous que vous utilisez le nouveau /var/yp/Makefile fourni avec ypserv
 1.2 ou une version sup�rieure, ou ajoutez l'option -c � makedbm dans
 le Makefile. Si vous ne le faites pas, ypserv continuera � utiliser
 les anciennes maps, et non les nouvelles.

 �ditez ensuite /var/yp/securenets et /etc/ypserv.conf. Pour plus
 d'information, lisez les pages de manuel ypserv(8) et ypserv.conf(5).

 Assurez-vous que le portmapper (portmap(8)) fonctionne et lancez le
 serveur ypserv. La commande



          % rpcinfo -u localhost ypserv




 doit vous r�pondre un message du genre



          program 100004 version 2 ready and waiting




 Maintenant, g�n�rez la base de donn�e NIS (YP).  Sur le serveur
 ma�tre, lancez :



          % /usr/lib/yp/ypinit -m




 sur un esclave, assurez-vous que ypwhich -m fonctionne. C'est � dire
 que votre esclave doit �tre configur� en tant que client NIS, puis
 lancez:


          % /usr/lib/yp/ypinit -s masterhost




 pour que la machine soit un esclave NIS.

 �a y est, votre serveur fonctionne.

 Si vous avez de plus gros probl�mes, vous pouvez lancer ypserv et
 ypbind en mode debug sur des xterms diff�rents. La sortie �cran du
 mode d�bug devrait vous montrer ce qui ne va pas.

 Il est possible que vous souhaitiez ajouter les lignes suivantes sur
 le serveur esclave dans la crontab root :



            20 *    * * *    /usr/lib/yp/ypxfr_1perhour
            40 6    * * *    /usr/lib/yp/ypxfr_1perday
            55 6,18 * * *    /usr/lib/yp/ypxfr_2perday




 De cette mani�re, vous �tes s�r que les maps NIS sont synchronis�es et
 sont � jour, m�me s'il peut arriver qu'une mise � jour soit rat�e
 parce que l'esclave �tait arr�t� lors de la mise � jour du ma�tre.

 Vous pouvez ajouter un esclave n'importe quand, ensuite. Tout d'abord,
 assurez-vous que le nouveau ypserv a les droits pour contacter le
 serveur ma�tre. Ensuite, lancez


          % /usr/lib/yp/ypinit -s masterhost




 sur l'esclave, et ajoutez le nom du serveur au fichier
 /var/yp/ypservers. Apr�s cela, lancez la commande "make" dans le
 r�pertoire /var/yp pour mettre les maps � jour.

 Si vous souhaitez restreindre l'acc�s au serveur NIS, vous devez
 configurer le serveur NIS comme s'il �tait �galement un client en
 lan�ant ypbind et en ajoutant les entr�es "+" dans le fichier
 /etc/passwd. La biblioth�que de fonctions va alors ignorer les entr�es
 normales apr�s la premi�re entr�e NIS et va r�cup�rer le reste des
 informations en utilisant NIS.  C'est de cette mani�re que sont
 maintenues les r�gles d'acc�s NIS.  Par exemple :



           root:x:0:0:root:/root:/bin/bash
           daemon:*:1:1:daemon:/usr/sbin:
           bin:*:2:2:bin:/bin:
           sys:*:3:3:sys:/dev:
           sync:*:4:100:sync:/bin:/bin/sync
           games:*:5:100:games:/usr/games:
           man:*:6:100:man:/var/catman:
           lp:*:7:7:lp:/var/spool/lpd:
           mail:*:8:8:mail:/var/spool/mail:
           news:*:9:9:news:/var/spool/news:
           uucp:*:10:50:uucp:/var/spool/uucp:
           nobody:*:65534:65534:noone at all,,,,:/dev/null:
           +miquels::::::
           +:*:::::/etc/NoShell
           [ Tous les utilisateurs normaux APRES cette ligne !]
           tester:*:299:10:Just a test account:/tmp:
           miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh



 L'utilisateur _t_e_s_t_e_r existera toujours mais il aura l'interpr�teur de
 commandes /etc/NoShell. L'utilisateur _m_i_q_u_e_l_s aura un acc�s normal.

 Sinon, vous pouvez �galement �diter le fichier /var/yp/Makefile et
 configurer NIS pour qu'il utilise un autre fichier passwd.  Sur de
 gros syst�mes, les fichiers passwd et group sont g�n�ralement
 conserv�s dans le r�pertoire /var/yp/ypfiles/. Si vous utilisez les
 outils standards pour administrer le fichier mot de passe ("passwd",
 "chfn", "adduser"), cela ne fonctionnera plus et devrez alors cr�er
 vos propres outils.

 Toutefois, yppasswd, ypchsh et ypchfn fonctionneront bien sur.


 1100..22..  LLee pprrooggrraammmmee sseerrvveeuurr yyppss


 Pour mettre en place le serveur NIS yps, consultez les paragraphes
 pr�c�dents. Sa configuration est assez similaire sans �tre exactement
 la m�me, donc faites attention si vous essayez d'appliquer les
 instructions de ypserv � yps! Cependant, yps n'est plus maintenu par
 son auteur, et contient un certain nombre de failles de s�curit�. Vous
 devriez �viter de vous en servir.

 Ce serveur NIS peut �tre trouv� sur :



          Site                Repertoire               Nom du Fichier

        ftp.lysator.liu.se  /pub/NYS/servers            yps-0.21.tar.gz





 1100..33..  LLee pprrooggrraammmmee rrppcc..yyppppaasssswwdddd

 � chaque fois qu'un utilisateur change son mot de passe, le mot de
 passe de la  base de donn�es NIS, ainsi que celui des autres bases de
 donn�es NIS, doit �tre mis � jour. Le programme rpc.yppasswd est un
 serveur qui g�re les modifications de mot de passe et qui s'assure que
 les informations NIS seront correctement mises � jour. rpc.yppasswdd
 est d�sormais int�gr� dans ypserv. Vous n'avez plus besoin des
 vieilles versions s�par�es yppasswd-0.9.tar.gz ou
 yppasswd-0.10.tar.gz, et vous ne devriez plus les utiliser. La version
 de rpc.yppasswdd qui est comprise dans ypserv 1.3.2 g�re totalement
 les Shadow. yppasswd fait maintenant parti de yp-tools-1.2.tar.gz.

 Le lancement de rpc.yppasswdd n'est n�cessaire que sur le serveur
 ma�tre.  Par d�faut, les utilisateurs ne sont pas autoris�s � changer
 leur Nom complet (NDT: Pr�nom + Nom), ni leur shell. Vous pouvez
 cependant les y autoriser en utilisant l'option -e de chfn ou l'option
 -e de -e de chsh.


 1111..  VV��rriiffiieerr ll''iinnssttaallllaattiioonn ddee NNIISS oouu ddee NNYYSS

 Si tout fonctionne correctement (comme cela devrait �tre), vous
 devriez �tre capable de v�rifier votre installation avec quelques
 commandes simples. Supposons que le fichier de mots de passe soit g�r�
 par NIS, la commande




     % ypcat passwd




 devrait alors vous donner le contenu du fichier des mots de passe.  La
 commande



          % ypmatch id_utilisateur passwd




 (o� _i_d___u_t_i_l_i_s_a_t_e_u_r est le nom de login d'un utilisateur) devrait vous
 donner l'entr�e de l'utilisateur dans le fichier des mots de passe
 NIS.  Les commandes ypcat et ypmatch doivent �tre incluses dans la
 distribution du NIS (ou NYS) traditionnel.

 Si un utilisateur ne peut pas se connecter, lancez le programme
 suivant sur la machine cliente :



      #include <stdio.h>
      #include <pwd.h>
      #include <sys/types.h>

      int
      main(int argc, char *argv[])
      {
        struct passwd *pwd;

        if(argc != 2)
          {
            fprintf(stderr,"Usage: getwpnam username\n");
            exit(1);
          }

        pwd=getpwnam(argv[1]);

        if(pwd != NULL)
          {
            printf("name.....: [%s]\n",pwd->pw_name);
            printf("password.: [%s]\n",pwd->pw_passwd);
            printf("user id..: [%d]\n", pwd->pw_uid);
            printf("group id.: [%d]\n",pwd->pw_gid);
            printf("gecos....: [%s]\n",pwd->pw_gecos);
            printf("directory: [%s]\n",pwd->pw_dir);
            printf("shell....: [%s]\n",pwd->pw_shell);
          }
        else
          fprintf(stderr,"User \"%s\" not found!\n",argv[1]);

        exit(0);
      }




 Faites tourner ce programme avec le nom de l'utilisateur en param�tre.
 Il va afficher toutes les informations renvoy�es par la fonction
 getpwnam concernant l'utilisateur.  Cela peut vous permettre de savoir
 si l'entr�e est correcte. Un probl�me assez fr�quemment rencontr� est
 une red�finition du champ de mot de passe par un "*".
 1122..  PPrroobbll��mmeess eett eerrrreeuurrss ddee ffoonnccttiioonnnneemmeenntt ddee NNIISS

 Voici certains probl�mes rencontr�s par diff�rents utilisateurs :


 1. Les biblioth�ques 4.5.19 sont d�fectueuses. NIS ne fonctionnera pas
    avec.

 2. Si vous faites une mise � jour de 4.5.19 � 4.5.24 alors la commande
    su plante. Vous devez r�cup�rer la commande su � partir de la
    distribution de la _s_l_a_c_k_w_a_r_e 1.2.0 ou sup�rieure. �ventuellement,
    vous pouvez �galement y r�cup�rer les biblioth�ques mises � jour.

 3. Vous pouvez avoir quelques probl�mes avec NIS et DNS sur la m�me
    machine si vous utilisez une vieille distribution en _a_._o_u_t.  Le
    serveur DNS ne supporte pas toujours NIS.

 4. Lorsqu'un serveur NIS tombe et est relanc�, ypbind d�marre avec des
    messages du genre :

             yp_match: clnt_call:
                         RPC: Unable to receive; errno = Connection refused



 et les logins sont refus�s pour les utilisateurs r�f�renc�s dans la
 base de donn�e NIS. Loguez vous en tant que root si vous le pouvez,
 tuez ypbind puis relancez-le.

 5. Apr�s avoir mis � jour la libc version sup�rieure � 5.4.20, les
    outils YP ne fonctionneront plus. Vous devez utiliser les yp-tools
    version 1.2 ou sup�rieure pour la libc >= 5.4.21 et glibc 2.x, et
    la version yp-clients 2.2 pour les versions pr�c�dentes.  yp-tools
    2.0 devrait fonctionner avec toutes les biblioth�ques.

 6. Dans les libc 5.4.21 - 5.4.35, yp_maplist est d�fectueux.  Vous
    devrez prendre une version 5.4.36 ou sup�rieure, sinon, certains
    programmes pour YP comme ypwhich g�n�reront une erreur _s_e_g_._f_a_u_l_t.

 7. La libc5 avec le NIS traditionnel ne g�re pas l'utilisation des
    mots de passe Shadow avec NIS. Vous devez donc utiliser la libc5
    avec NYS ou la glibc 2.x.

 8. ypcat shadow ne montre pas la map Shadow. C'est l� quelque chose de
    correct, puisque le nom de la map Shadow est "shadow.byname", et
    non "shadow".


 1133..  FFAAQQ :: LLeess qquueessttiioonnss lleess pplluuss ffrr��qquueemmmmeenntt ppooss��eess

 Bon nombre de questions doivent �tre r�solues d�sormais. Si vous avez
 des questions sans r�ponse, vous pouvez poster un message dans les
 forums de discussion :


          comp.os.linux.help




 ou



          comp.os.linux.networking

 ou contacter l'un des auteurs de ce HOWTO.