Monter un domaine NIS

I) Introduction :

Un domaine NIS sert à centraliser des informations sur un réseau Unix. Par exemple, vous possédez un réseau de 30 postes et sur chaque poste vous avez autant d’utilisateurs déclarés car vos utilisateurs n’utilisent pas toujours le même poste. De même vous avez souvent à modifier votre fichiers /etc/hosts pour ajouter ou supprimer une machine. Si vous devez effectuer des opérations sur ces fichiers sur chacun des postes de votre réseau, vous allez y passer la journée. Alors pourquoi ne pas créer simplement un domaine NIS qui partagera ces informations sans que vous n’ayez à intervenir sur les clients par la suite?

Pour continuer cette présentation, je supposerais que NFS et portmap sont installés sur vos machines clientes et sur celle qui jouera le rôle de serveur. Ensuite vous aurez à installer les paquetages correspondant à NIS sur chacune de vos machine. Sous Debian :

 # apt-get install nis

Le paquet Debian contient l’ensemble des outils pour vous permettre de réaliser un serveur ou pour rendre vos clients membres d’un domaine NIS. Pour RedHat et Mandrake par contre, jetez un coup d’oeil aux paquets dont le nom commence par yp

II) Configuration du serveur :

Tout d’abord, remplissez votre fichier /etc/hosts avec les couples IP/nom de machine car NIS ne travaille pas avec DNS.

Ensuite, nous allons dire au serveur que c’est un serveur maître du domaine NIS.

# vim /etc/defaults/nis

et nous mettrons la valeur : NISSERVER=master

Ensuite, nous allons déclarer le nom du domaine NIS :

 # vim /etc/defaultdomain

et mettez-y le nom de votre domaine NIS, par exemple pour moi momolan.

Le gros fichier de configuration du domaine NIS est le fichier /var/yp/Makefile. Il sert à construire les différentes map de votre domaine. Les fichiers originaux étant des fichiers ASCII, il est en effet préférable de construire des bases de données binaires pour accélérer leur traitement et par la même occasion réduire la charge sur le serveur.

Activez la prise en compte du domaine NIS : # domainname nom_du_domaine_NIS

On construit les maps :

 # cd /var/yp
 # make

Maintenant pour que les clients puissent accéder depuis n’importe ou à leurs fichiers, nous allonrs exporter le répertoire /home du serveur via NFS :

 # vim /etc/exports

et rajoutez une ligne dans ce style au fichier :

 /home   192.168.0.0/255.255.255.0(rw,root_squash)
 # exportfs -a

III) Configuration du client :

On déclare le nom du domaine NIS :

 # vim /etc/defaultdomain

et mettez-y le nom de votre domaine NIS, ici momolan.

 # vim /etc/yp.conf

et mettez-y l’IP du serveur NIS et le domaine de cette façon :

 ypserver 192.168.0.3
domain momolan server 192.168.0.3

 # vim /etc/nsswitch.conf
 passwd:         files nis
 group:          files nis
 shadow:         files nis
 
hosts: nis files dns netgroup: nis

Et dans le même temps, ajoutez +:::::: à la fin du fichier /etc/passwd des clients.
De cette façon, un utilisateur non référencé en local tentera d’être autentifié sur le serveur. La ligne shadow n’est utile que si vous utilisez les shadow passords, mais c’est à la fois de plus en plus le cas et à la fois recommandé.

Activez la prise en compte du domaine NIS : # domainname nom_du_domaine_NIS

Maintenant on vas dire que le répertoire /home est monté depuis NFS. De la sorte les fichiers des utilisateurs sont stockés sur le serveur. Les utilisateurs n’ont plus à se soucier de savoir sur quel poste ils se trouvaient la dernière fois qu’ils sont venus travailler. De plus celà vous facilite la mise en place des quotas si vous souhaitiez mettre celà en place.

 # vim /etc/fstab
 serveur_nis:/home    /home    nfs    rsize=8192,wsize=8192,timeo=14    0    0

 # mout /home
 # /etc/init.d/nis start

Normalement à ce stade tout devrait marcher. L’utilisation de la commande ypwich sur les clients devrait vous retourner le nom du serveur NIS. Si tout marche, peu de choses à dire . Vous devriez réussir à vous logguer depuis les postes clients. Toutefois, pour ce qui est du changement de mot de passe, il vous faut maintenant tapper yppasswd pour que le changement soit pris en compte sur le serveur. Mais vous pouvez toujours rendre la commande transparente en faisant comme suit :

# mv /usr/bin/passwd /usr/bin/passwd.old
# ln -s /usr/bin/yppasswd /usr/bin/passwd

Pour approfondir, il serait interressant d’étudier le NIS-HOWTO sur www.tldp.org. Vous y découvrirez qu’il existe aussi le NIS+ et le NYS. Mais celà dépasse le cadre de cette initiation à NIS qui a d’ailleurs servi comme ma propre initiation.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *