User Tools

Site Tools


admin:tp6

TP6 (NIS & NFS)

Attention : Vérifier que le service rpcbind est bien démarré, sinon il faut penser à le lancer.

$/etc/init.d/rpcbind start
Configuration du serveur NIS

On choisit un nom de domaine mydomain :

root@immortal:~ #echo mydomain > /etc/defaultdomain

On positionne également le nom de domaine courant à mydomain

root@immortal:~ #domainname mydomain

On peut vérifier que le domainne courant est bien positionné en tapant la commande domainname.

On configure immortal comme serveur (maître), en indiquant dans le fichier /etc/default/nis

...
# Are we a NIS server and if so what kind (values: false, slave, master)?
NISSERVER=master
...

Puis on construit la base de données, en exportant les comptes courants (définis dans /etc/passwd) comme des comptes NIS.

root@immortal:~ #cd /var/yp/ ; make

Un message d'erreur indique que le serveur ne NIS n'est pas encore lançé !

On démarre donc le serveur NIS :

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

OK c'est parti… sinon on vérifie les logs (/var/log/syslog).

On regénère proprement la basse de données NIS.

root@immortal:~ # cd /var/yp/
root@immortal:~ # rm -rf mydomain               # raz de la database
root@immortal:~ # make                          # on génére à nouveau la database          
  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 netgroup...
  Updating netgroup.byhost...
  Updating netgroup.byuser...
  Updating shadow.byname...

Tous les utilisateurs locaux sur le serveur NIS avec un UID > 1000 sont exportés dans la database.

En lançant la commande rpcinfo -p on voit apparaître les différents services RPC utiles à NIS : ypserv, yppasswdd, ypbind, fypxfrd.

Configuration du client

On vérifie que le fichier /etc/default/nis est bien configuré pour être client NIS. Puis on configure le nom de domaine NIS et on démarre le service NIS (côté client).

root@grave:~ #echo "mydomain" > /etc/defaultdomain
root@grave:~ #domainname mydomain
root@grave:~ #/etc/init.d/nis restart 
  Starting NIS services: ypbind.

Pour vérifier que l'on trouve bien le serveur NIS depuis le client :

root@grave:~ #ypwhich
  192.168.0.1

Pour afficher la liste des comptes utilisateur NIS :

root@grave:~ #ypcat passwd

Il faut ensuite éditer le fichier /etc/nsswitch.conf qui sert à expliquer à l'OS quelle stratégie utiliser pour l'autenthification (unix files, nis, ldap, compat, …)

passwd:         files nis        # compat
group:          files nis        # compat
shadow:         files nis        # compat
...

Attention, il faut recharger le fichier nsswitch.conf il faut faire :

/etc/init.d/nscd restart 

Avec la séquence files nis, on vérifie d'abord les comptes locaux dans /etc/, puis après on cherche sur le serveur NIS.

Ajouter des nouveaux utilisateurs NIS sur le serveur

On commence par désactiver kerberos & ldap

root@immortal:~ #pam-auth-update

Puis on ajoute les utilisateurs Unix titi et tutu :

root@immortal:~ #adduser titi
  password titi
root@immortal:~ #adduser tutu
  pasword tutu

On met à jour la base de données NIS :

root@immortal:cd /var/yp ; make
 Updating passwd.byname...
 Updating passwd.byuid...
 Updating netid.byname...
 Updating shadow.byname...

Maj de la base, pas besoin de restarter le serveur NIS…

root@grave:~ #ypcat passwd
  tutu:x:1002:1002:,,,:/home/tutu:/bin/bash
  titi:x:1001:1001:,,,:/home/titi:/bin/bash
  toto:x:1000:1000:,,,:/home/toto:/bin/bash

Pour tester NIS on passe par un tiers utilisateur plutôt que par root (root ne vérfie pas le password) !

root@grave:~ #su toto 
toto@grave:/root$ su titi
Mot de passe : xxxx
titi@grave:/root$ 
Configuration de NFS

Il ne faut pas oublier de configurer le serveur NFS comme un client NIS ! Pour mettre à jour le cache des utilisateurs NIS sur un client, il est utile de relancer le démon NSCD (NameService Cache Daemon) /etc/init.d/nscd restart

Côté serveur NFS

On configure le serveur NFS sur syl ; grave sert de client.

Sur le serveur, le répertoire NFS sera /pub.

root@syl$ mkdir /pub

On indique cela /etc/exports de la façon suivante :

/pub (rw,no_root_squash)

Autres Exemples (man exports) :

/pub host1(ro) host2(rw,no_root_squash)
/pub @netgroup(rw)
/pub (ro)

Par defaut, root_squash : l'utilisateur root (uid=0,gid=0) est mappé sur anonymous avec des droits restreints ! Autres options : no_root_squash, all_squash

On démarre le common et le serveur NFS (nécessaire après chaque modif de /etc/exports) :

root@grave$ /etc/init.d/nfs-common restart  
root@grave$ /etc/init.d/nfs-kernel-server restart  

Côté client NFS

Sur grave, déjà configuré comme un client NIS.

On démarre le common NFS (après chaque modif de /etc/exports) :

root@grave$ /etc/init.d/nfs-common restart  

On crée le montage NFS dans /mnt/pub :

root@grave$ mkdir /mnt/pub
root@grave$ chmod 777 /mnt/pub
root@grave$ mount -t nfs -o nfsvers=3 192.168.0.1:/pub /mnt/pub         # @serveur_nfs = 192.168.0.1

On crée des fichiers vides (commande touch) sur la machine client en tant que tutu et titi.

root@grave:/mnt/pub$ su tutu
tutu@grave:/mnt/pub$ touch tutu              
root@grave:/mnt/pub$ su titi  
titi@grave:/mnt/pub$ touch titi              
  

On vérifie les droits…

  
root@grave:/mnt/pub$ ls -l
  -rw-r--r-- 1 titi titi 0 2008-03-11 13:28 titi
  -rw-r--r-- 1 tutu tutu 0 2008-03-11 13:28 tutu

On peut également configurer le point de montage de manière permanente dans /etc/fstab

root@grave$ jmacs /etc/fstab
<file system>      <mount point>   <type>  <options>  <dump> <pass>
192.168.0.3:/pub   /mnt/test        nfs    rw         0       0    
En conclusion

Donc on a :

  • immortal : serveur NIS (compte NIS tutu et titi)
  • syl : serveur NFS (export de /pub) & client NIS
  • grave : client NIS & NFS (montage dans /mnt/pub)

Pour terminer de tout bien configurer, il faut créer sur le serveur NFS les repertoires /pub/tutu et /pub/titi appartenant respectivement aux utilsateurs tutu et titi, avec les bons droits d'accès Unix. Il faut ensuite mettre à jour le /etc/passwd du serveur NIS pour indiquer comme home directory les répertoires /mnt/pub/tutu et /mnt/pub/titi. Puis on met à jour la base NIS. Et on teste sur le client que l'on se connecte bien dans le home directory monté par NFS. Pensez à recharger le cache NSCD côté client NIS avant de faire des tests ;-)

admin/tp6.txt · Last modified: 2024/03/18 15:06 by 127.0.0.1