Installation d’un serveur NIS + Client sur RHEL5.5

Avr 01
2011

Présentation :
Network Information Service (NIS) nommé aussi Yellow Pages est un protocole client serveur développé par Sun permettant la centralisation d’informations sur un réseau UNIX.
Son but est de distribuer les informations contenues dans des fichiers de configuration contenant par exemple les noms d’hôte (/etc/hosts), les comptes utilisateurs (/etc/passwd), etc. sur un réseau.

Un serveur NIS stocke et distribue donc les informations administratives du réseau, qui se comporte ainsi comme un ensemble cohérent de comptes utilisateurs, groupes, machines, etc.

À l’origine, NIS est sorti sous le nom de « Yellow Pages » (YP) ou Pages jaunes mais le nom étant déposé par la compagnie britannique British Telecom, Sun a renommé son protocole NIS. Cependant, les commandes NIS commencent toutes par yp.

http://fr.wikipedia.org/wiki/Network_Information_Service

Définitions :
Master NIS : masternis masternis.testnis 192.168.0.1
Client NIS : clientnis clientnis.testnis 192.168.0.2
Domaine NIS : testnis

Partie Serveur :
Installation des packages yp-tools ypbind ypserv portmap nfsd
# yum install yp-tools ypbind ypserv portmap nfs-utils nfs-utils-lib

Définition du domaine NIS :
# vi /etc/sysconfig/network
Ajout de la ligne
NISDOMAIN=testnis

Définition du serveur :
# vi /etc/yp.conf
Ajout de la ligne
ypserver 127.0.0.1

Démarrage des services :
# service portmap start # Gestion des ports
# service yppasswdd start # gestion de la modification des mots de passe à distance
# service ypserv start # Daemon principal NIS
# service nfs start # Daemon nfs

Démarrage forcé de ces daemons au lancement du serveur :
# chkconfig portmap on
# chkconfig yppasswdd on
# chkconfig ypserv on
# chkconfig nfs on

Arrêt de autofs et forcage d’arrêt au boot
# service autofs start # Daemon automount
# chkconfig autofs off

Modification des fichiers liés à automount :
# cat /etc/auto.master
[…]
/users  yp:auto.home  -timeout=30
+auto.master
# cat /etc/auto.home
* master.testnisbg:/users/&

Vérification que tout est bien démarré :
#  rpcinfo -p 127.0.0.1
program vers proto   port
100000    2   tcp    111  portmapper
100000    2   udp    111  portmapper
100004    2   udp    634  ypserv
100004    1   udp    634  ypserv
100004    2   tcp    637  ypserv
100004    1   tcp    637  ypserv
100009    1   udp    721  yppasswdd

Configuration du nfs :
Modifier le fichier /etc/exports
# cat /etc/exports
/users 192.168.0.0/24(sync)

Configuration du NIS :
# /usr/lib64/yp/ypinit -m # ou /usr/lib/yp/ypinit -m sur un linux 32bits
At this point, we have to construct a list of the hosts which will run NIS
servers.  masternis is in the list of NIS server hosts.  Please continue to add
the names for the other hosts, one per line.  When you are done with the
list, type a <control D>.
next host to add:  masternis
next host to add:
next host to add:
The current list of NIS servers looks like this:

masternis

Is this correct?  [y/n: y]  y
We need a few minutes to build the databases…
Building /var/yp/testnis/ypservers…
Running /var/yp/Makefile…
gmake[1]: Entering directory `/var/yp/testnis’
Updating passwd.byname…
Updating passwd.byuid…
Updating group.byname…
Updating group.bygid…
Updating hosts.byname…
Updating hosts.byaddr…
Updating rpc.byname…
Updating rpc.bynumber…
Updating services.byname…
Updating services.byservicename…
Updating netid.byname…
Updating protocols.bynumber…
Updating protocols.byname…
Updating mail.aliases…
gmake[1]: Leaving directory `/var/yp/testnis’

masternis has been set up as a NIS master server.

Now you can run ypinit -s masternis on all slave server.

Démarrage des derniers Daemons :
# service ypbind start
# service ypxfrd start
# chkconfig ypbind on
# chkconfig ypxfrd on
# rpcinfo -p 127.0.0.1
program vers proto   port
100000    2   tcp    111  portmapper
100000    2   udp    111  portmapper
100004    2   udp    634  ypserv
100004    1   udp    634  ypserv
100004    2   tcp    637  ypserv
100004    1   tcp    637  ypserv
100009    1   udp    721  yppasswdd
100007    2   udp    738  ypbind
100007    1   udp    738  ypbind
100007    2   tcp    741  ypbind
100007    1   tcp    741  ypbind

Paramétrage du fichier hosts :
# vi /etc/hosts
Ajout des lignes :
192.168.0.1    masternis.testnis
192.168.0.2    clientnis.testnis

Modification du hosts.allow/deny : (à tuner pour une meilleure sécurité !!)
# vi /etc/hosts.allow
Ajout de la ligne
ALL: 192.168.0
# vi /etc/hosts.deny
Ajout de la ligne
ALL: ALL

Partie Cliente :
Installation les packages yp-tools ypbind portmap autofs
# yum install yp-tools ypbind portmap autofs

Paramétrage du fichier hosts :
# vi /etc/hosts
ajout des lignes :
192.168.0.1    masternis.testnis
192.168.0.2    clientnis.testnis

Renommage des fichiers locaux liés à automount pour éviter la confusion avec les fichiers liés à NIS
# mv /etc/auto.master /etc/auto.master_OLD
# mv /etc/auto.home /etc/auto.home_OLD

Modification du nsswitch.conf :
# cat /etc/nsswitch.conf
[…]
#automount:  files nis
automount: nis files

Création du point de montage des homes users
# mkdir /users

Configuration du NIS :
# authconfig –enableshadow –enablenis –nisdomain=testnis –nisserver=masternis.testnis –update

Démarrage des daemons :
# service portmap start
Starting portmapper: [  OK  ]
# service ypbind restart
Shutting down NIS services:                                [  OK  ]
Binding to the NIS domain:                                 [  OK  ]
Listening for an NIS domain server.
# service autofs restart
Stopping automount:                                        [  OK  ]
ypcatStarting automount:                                   [  OK  ]

# chkconfig ypbind on
# chkconfig portmap on
# chkconfig autofs on

Contrôle que la connexion NIS fonctionne :
# ypcat passwd
user02:$1$V1xB1m0G$qT8BnJwY.g0aBIO.BNo4q/:59137:59137::/users/user02:/bin/bash
user01:$1$z91qyCHc$gCRG2kcvaKw6a5U9vA1cx.:59136:59136::/users/user01:/bin/bash

Test de la connexion avec un user non local :
# su – user01
Si cela fonctionne, vous pourrez vous authentifier, et le path sera /users/user01
# pwd
/users/user01

 

Sources :
http://www.labo-linux.com/articles/software/3049-installation-et-configuration-de-nis-network-information-service?page=1
http://www.linuxcream.com/blog/linux-system/linux_redhat/step-by-step-to-configure-nis-in-rhel5-1/
http://dawidlinux.pagesperso-orange.fr/libres_fichiers/tuto-nis.html
http://iptables.gen.tr/2010/01/nis-server-and-client-configuration/

image : http://fr.wikipedia.org/wiki/Fichier:Nuvola_apps_kgpg.png

Comments are closed.