tutoriel | installer un domaine nis

 Article publiée le 14 Septembre 2013

 

La difficulté du métier d’admin système dépend toujours de la grandeur de son infrastructure. Plus il y a de serveurs à administrer plus il faut-être malin.

Prenons le simple exemple de l’administration des utilisateurs. Si vous avez 1000 serveurs à votre actif je vous vois mal faire des useradd pendant deux jours!

Soit vous faite un script SHELL de déploiement, soit …

Vous utilisez NIS!

Si vous en avez jamais entendu parlé, NIS est un protocole client/serveur permettant la centralisation des informations sur un réseau UNIX.

En gros vous pouvez centraliser tout les fichiers de configuration de vos serveurs UNIX.

Pratique me direz vous!

Ci-dessous la procédure d’installation de NIS adaptée pour Debian/Ubuntu et RedHat/Centos:

 Faites très attention avec ce protocole, pensez à sécuriser votre infrastructure car une tel mise en place peut également représenter une faille de sécurité…

 

1) Installation partie serveur sous Centos/RedHat

– Installez les paquets:

yum install ypserv rpccind

 

– Initialisez votre domaine NIS

ypdomainname <nom de domaine>

– Editez le fichier /var/yp/Makefile

Remplacez « ALL =   passwd  group hosts rpc services netid protocols netgrp » par « ALL =   passwd shadow  group hosts rpc services netid protocols netgrp »

Exemple : ypdomainname vince.domain

– Ajoutez votre serveur NIS dans son propre domaine

vi /etc/sysconfig/network

 

 Verifiez bien que vos machines disposent bien d’un DNS (via les fichiers hosts ou serveurs DNS)

– On démarre les services:

/etc/init.d/rpcbind start

/etc/init.d/ypserv start

/etc/init.d/yppasswdd start

– On fait en sorte que ces services soient démarrés au démarrage de la machine

chkconfig rpcbind on

chkconfig ypserv on

chkconfig yppasswdd on

 

– On initialise la base nis avec la commande /usr/lib64/yp/ypinit -m

Comme vous pouvez le constater c’est ici que vous entrez le nom des autres serveurs NIS si vous voulez mettre en place des slave (utile uniquement si vous avez une grosse infrastructure)

2) Installation partie serveur sous Debian/Ubuntu

– Installez les paquets:

apt-get install nis

Si cette écran apparaît renseignez le nom de votre domaine NIS

– Éditez le fichier /etc/default/nis

Remplacez « NISSERVER=false » par « NISSERVER=master »

– Éditez le fichier /var/yp/Makefile

Remplacez « ALL =   passwd  group hosts rpc services netid protocols netgrp » par « ALL =   passwd shadow  group hosts rpc services netid protocols netgrp »

– Exécutez la commande /usr/lib/yp/ypinit -m

– Redémarrez NIS:

/etc/init.d/nis restart

 

3) Installation partie client

Sous Centos:

– Editez le fichier /etc/sysconfig/network et rajoutez la ligne:

NISDOMAIN=<votre domaine NIS>

– Editez le fichier /etc/sysconfig/authconfig et modifiez  « USENIS=no » par « USENIS=yes »

– Editez le fichier /etc/yp.conf et ajoutez la ligne

domain <nom de votre domaine NIS> server <Dns de votre serveur nis>

– Editez le fichier /etc/nsswitch.conf  (permet de choisir quelles élément seront centralisé par le NIS), pour cela ajoutez « nis » après « files » :

– Faites en sorte que le service NIS démarre bien au démarrage de la machine:

chkconfig rpcbind on

chkconfig ypbind on

reboot

 

Il ne vous reste plus qu’à checker en créant un user sur le serveur et essayer de vous loguer avec sur la machine cliente!

 Après la création d’un user n’oubliez pas de de faire un refresh de la base NIS. Pour cela:

cd /var/yp && make

Petite astuce: si vous voulez que le répertoire home de votre user se crée tout seul:

Ajouter cette ligne dans le fichier /etc/pam.d/system-auth

session optional pam_mkhomedir.so skel=/etc/skel umask=077

 

Sous Debian/Ubuntu

– Installez le paquet nis:

apt-get install nis

– Editez le fichier /etc/yp.conf

Rajouter la ligne :

domain <nom du domaine> server <nom du serveur NIS>

– Editez le fichier /etc/nsswitch.conf

Rajoutez « nis » après « compat » devant tout les éléments qui devront être centralisés

Exemple:

Il ne reste plus qu’à redémarrer.

Enjoy ! 🙂