Vous êtes sur la page 1sur 7

TP Installation/Configuration des services

NIS sur serveur GNU/Linux


Nom :

BENS Prnom :
ALAH

Rihan

Faycal Date : 21/02/2016

Groupe :

Abdrr
ahmane

Prrequis :
Avoir installer un serveur NFS sur un Linux pour le partage du Home Directory.
----------------------------------------------(Cot serveur)------------------------------------------------1. Configuration du serveur NIS
Il faut installer le paquet nis (debian) ou ypbind-server (mandriva) sur le serveur. C'est en ditant
le fichier de configuration du service /etc/default/nis que l'on attribue le rle client ou serveur. Par
dfaut, c'est le rle client qui est attribu ce qui suppose donc qu'un serveur est dj en place lors
de l'installation.
On attribue le rle serveur avec l'option NISSERVER.
sudo apt-get install portmap nis

"/etc/default/portmap" et commentez la ligne ARGS="-i 127.0.0.2"

"/etc/default/nis" et la ligne NISSERVER NISSERVER=master

"/etc/yp.conf" et ajoutez une ligne de serveur sur la forme: ypserver 127.0.0.1

# vi /etc/default/nis
#
# /etc/defaults/nis
Configuration settings for the NIS daemons.
#
# Are we a NIS server and if so what kind (values: false, slave, master)
NISSERVER=master
# Are we a NIS client (i.e. start ypbind?)
NISCLIENT=true

On dsigne manuellement ce serveur en ditant le fichier /etc/yp.conf.


# vi /etc/yp.conf
<snipped/>
#
# IMPORTANT:
For the "ypserver", use IP addresses, or make sure that
#
the host is in /etc/hosts. This file is only interpreted
#
once, and if DNS isn't reachable yet the ypserver cannot
#
be resolved and ypbind won't ever bind to the server.
# ypserver ypserver.network.com
ypserver 192.168.10.10

On relance ensuite le service.


# /etc/init.d/nis restart
Starting NIS services: ypserv yppasswdd ypxfrd ypbind.

On contrle de la liste des services RPC disponibles.


#rpcinfo -p
root@debian:/home/ucd# rpcinfo -p
program vers proto
port service
100000
4
tcp
111 portmapper
100000
3
tcp
111 portmapper
100000
2
tcp
111 portmapper
100000
4
udp
111 portmapper
100000
3
udp
111 portmapper
100000
2
udp
111 portmapper
100024
1
udp 51481 status
100024
1
tcp 46281 status
100007
2
udp
772 ypbind
100007
1
udp
772 ypbind
100007
2
tcp
773 ypbind
100007
1
tcp
773 ypbind
root@debian:/home/ucd#

2. Cration des bases de donnes du service NIS


Une fois le serveur en place, il faut crer les bases de donnes distribues par le service NIS. Ces
bases tant stockes dans le rpertoire /var/yp/, c'est partir de ce rpertoire que toutes les
oprations suivantes doivent tre effectues.
Pour commencer, on dite le fichier Makefile qui contient l'ensemble des directives de
manipulation des bases. On s'intresse plus particulirement 2 sections du fichier.
UIDs, GIDs
On fixe arbitrairement la valeur minimum des uid et gid 2000 de faon viter tout mlange
avec la base de donnes des comptes utilisateur locaux du serveur NIS.
root@debian:/var/yp# gedit Makefile

#WedonotputpasswordentrieswithlowerUIDs(therootandsystem
#entries)intheNISpassworddatabase,forsecurity.MINUIDisthe
#lowestuidthatwillbeincludedinthepasswordmaps.Ifyou
#createshadowmaps,theUserIDforashadowentryistakenfrom
#thepasswdfile.Ifnoentryisfound,thisshadowentryisignored.
#MINGIDisthelowestgidthatwillbeincludedinthegroupmaps.
MINUID=2000
MINGID=2000

On complte la liste des bases ou cartes gres par le service NIS en y ajoutant les fichiers de
configuration de l'automontage NFS. De cette faon, on vite d'avoir configurer le service
d'automontage sur tous les postes clients.
#Ifyoudon'twantsomeofthesemapsbuilt,feelfreetocomment
#themoutfromthislist.
ALL=passwdgrouphostsrpcservicesnetidprotocolsnetgrp
ALL+=auto.masterauto.home

Comme la configuration de l'automontage n'est pas encore traite, on se contente de crer des
fichiers vides de faon ne pas bloquer le fonctionnement du service NIS.
3

Server_nis:#touch/etc/auto.master
server_nis:#touch/etc/auto.home

Une fois le fichier Makefile prt, on lance la cration des bases avec la commande ypinit.

Server_nis#/usr/lib/yp/ypinitm
CTRDpuisrpondezparYeslaquestion.

root@debian:/home/ucd#/usr/lib/yp/ypinitm
Atthispoint,wehavetoconstructalistofthehostswhichwillrunNIS
servers.debianisinthelistofNISserverhosts.Pleasecontinuetoadd
thenamesfortheotherhosts,oneperline.Whenyouaredonewiththe
list,typea<controlD>.
nexthosttoadd:debian
nexthosttoadd:
ThecurrentlistofNISserverslookslikethis:
debian
Isthiscorrect?[y/n:y]y
Weneedafewminutestobuildthedatabases...
Building/var/yp/debian/ypservers...
Running/var/yp/Makefile...
make[1]:Enteringdirectory'/var/yp/debian'
Updatingpasswd.byname...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatingpasswd.byuid...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatinggroup.byname...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatinggroup.bygid...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatinghosts.byname...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatinghosts.byaddr...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatingrpc.byname...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatingrpc.bynumber...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatingservices.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating
services.byservicename...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatingnetid.byname...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatingprotocols.bynumber...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatingprotocols.byname...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatingnetgroup...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatingnetgroup.byhost...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatingnetgroup.byuser...
failedtosend'clear'tolocalypserv:RPC:ProgramnotregisteredUpdatingshadow.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredmake[1]: Leaving directory
'/var/yp/debian'
debianhasbeensetupasaNISmasterserver.
Nowyoucanrunypinitsdebianonallslaveserver.
root@debian:/home/ucd#

3. Cration des comptes utilisateurs (exemple usernis)


Pour les tests sur les services NIS et NFS on utilise un compte utilisateur spcifique usernis.
1. On dsigne un nouveau rpertoire racine pour les comptes utilisateurs distribus par le
service NIS. Ce rpertoire sera utilis par le service d'automontage NFS.
2. Conformment la rgle adopte lors de la cration des bases NIS, on doit fixer une valeur
d'uid suprieure ou gale 2000 pour tous les comptes utilisateurs distribus.
4

Server_nis:/var/yp#mkdir/home/nis
Server_nis:/var/yp#adduserhome/home/nis/usernisuid2000usernis

root@debian:/var/yp#mkdir/home/nis
root@debian:/var/yp#adduserhome/home/nis/usernisuid2000usernis
Ajoutdel'utilisateurusernis...
Ajoutdunouveaugroupeusernis(2000)...
Ajoutdunouvelutilisateurusernis(2000)aveclegroupeusernis...
Crationdurpertoirepersonnel/home/nis/usernis...
Copiedesfichiersdepuis/etc/skel...
EntrezlenouveaumotdepasseUNIX:
RetapezlenouveaumotdepasseUNIX:
passwd:lemotdepasseatmisjouravecsuccs
Modificationdesinformationsrelativesl'utilisateurusernis
EntrezlanouvellevaleurouEntrepourconserverlavaleurpropose
Nomcomplet[]:usernis
Ndebureau[]:
Tlphoneprofessionnel[]:
Tlphonepersonnel[]:
Autre[]:
Cetteinformationestellecorrecte?[O/n]o
root@debian:/var/yp#

D'une faon gnrale, chaque modification d'un objet de la base de donnes du service NIS, il faut
relancer la scrutation des directives listes dans le Makefile.
Server_nis:/var/yp#make
make[1]:Enteringdirectory`/var/yp/ri4.lab'
Updatingpasswd.byname...
Updatingpasswd.byuid...
Updatingnetid.byname...
Updatingshadow.byname...
make[1]:Leavingdirectory`/var/yp/ri4.lab'
root@debian:/var/yp#make
make[1]:Enteringdirectory'/var/yp/debian'
Updatingpasswd.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating
passwd.byuid...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating
group.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating
group.bygid...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating
netid.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating
shadow.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredmake[1]:
Leavingdirectory'/var/yp/debian'
root@debian:/var/yp#

Pour finir on dit le fichier /etc/exports et on vrifie la prsence de la ligne suivante :


/home/nis192.168.17.0/255.255.255.0(sync,rw,no_root_squash,no_subtree_check)

#exportfsa
/etc/init.d/nfskernelserverrestart
#/etc/init.d/nisrestart
root@debian:/var/yp#/etc/init.d/nfsrestart
bash:/etc/init.d/nfs:Aucunfichieroudossierdecetype
root@debian:/var/yp#/etc/init.d/nfs
nfscommonnfskernelserver
root@debian:/var/yp#/etc/init.d/nfskernelserverrestart
[ ok ] Restarting nfskernelserver (via systemctl): nfskernel
server.service.
root@debian:/var/yp#/etc/init.d/nisrestart
[ok]Restartingnis(viasystemctl):nis.service.
root@debian:/var/yp#

-------------------------------------------------( Cot Client)-------------------------------------------------Ct client, il faut aussi installer le paquet nis(debian) ou ypbind-utils(mandriva) et reprendre le
nom de domaine choisi lors de la configuration du serveur.
- Mettez dans /etc/defaultdomain le domaine nis de votre serveur.
- Mettez dans /etc/yp.conf : ypserver ip_de_votre_serveur-nis.
- Vrifier la prsence des fichiers nis dans le fichier /etc/nsswitch.conf.
- Editer le fichier /etc/hosts et mettez le nom du client + le nom du serveur avec leurs ip.
- Puis :
Client_nis:~#domainnamedomaine_nis
Client_nis:~#nisdomainname
Ri4
Client_nis:~#ypwhich
server_nis

Une fois le dmon ypbind lanc, on effectue un test d'accs une base distribue via NIS :
Client_nis:~#ypcathosts
127.0.0.1localhost
192.168.10.20client_nis

192.168.10.10server_nis

On complte la configuration pour que les utilisateurs NIS puissent se connecter sur le client :
Client_nis:~#echo"+::::::">>/etc/passwd
Client_nis:~#echo"+::::::::">>/etc/shadow
Clientnis:~#echo"+:::">>/etc/group

Pour finir on dit le fichier /etc/fstab et on vrifie la prsence de la ligne suivante :


192.168.17.20:/home/nis/home/nisnfsrsize=8192,wsize=8192,timeo=1400
#mounta
Pour tester l'authentification de l'utilisateur usernis, soit on utilise la commande suusernis, soit

on utilise une console en 2me session. (Voici une dmonstration ici N1=client_nis)
Et voila : usernis est connect sur le serveur_nis et peut travailler librement. Si vous narrivez pas
crer des dossiers ou des fichiers, aller faire un tour du cot serveur et faite un chmod777 du
rpertoire /home/nis.