Page suivantePage pr�c�denteTable des mati�res

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

7.1 D�terminez si vous �tes un serveur, un esclave ou un client

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 ( 10 Configurer un serveur NIS ) 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.

7.2 Les programmes

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.

7.3 Le d�mon ypbind

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 :

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

7.4 Configurer un client NIS en utilisant le NIS traditionnel

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.

7.5 Configurer un client NIS en utilisant NYS

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 ?").

7.6 Configurer un client NIS en utilisant la glibc 2.x

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.

7.7 Le fichier nsswitch.conf

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.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:20