jeudi 7 avril 2011

NIS-NFS





Dans cet article, je n’ai pas l’intention d’expliquer ce qu’est un service NIS (Network Information Service) ni un système de fichiers réseaux NFS (Network Files System). 

Je vais seulement parcourir les étapes de configuration minimale et nécessaire pour mettre en place un système d’authentification basé sur un exemple de bases de données dit «à plats».

Autrement dit, cela consiste plus précisément en la publication des informations contenues dans les fichiers /etc/passwd, /etc/group et /etc/shadow sur le réseau et à les utiliser a des fins d’authentification. 

Evidement, peu d’entre vous seront intéressé par ce post car il existe déjà d’autres systèmes plus récents et meilleurs comme Kerberos et LDAP que j’avais déjà publié ou que je publierai sur ce blog.



·        Plan d'adressage:
Serveur: 192.168.0.1/24
Clients: appartiennent au réseau 192.168.0.0/24
·        Le système de fichiers NFS:
Installation et configuration du serveur NFS:
# aptitude install nfs-kernel-server

# dpkg-reconfigure portmap
Repondre: NON

# mkdir /home/nis
C’est dans ce répertoire que tous les dossiers personnels des utilisateurs du domaine NIS seront crées pour ne pas les confondre avec ceux des utilisateurs locaux. On pourrait même donner le nom du domaine à ce répertoire mais ici pour faire simple j’ai mis tout simplement nis.

On va maintenant exporter ce répertoire pour qu’il soit disponible sur tous le réseau et pour que quelque soit la machine sur laquelle se connecte le client, son dossier personnel lui est disponible:
# vim /etc/exports
/home/nis        192.168.0.0/24(sync,rw,no_root_squash,no_subtree_check)

Redémarrer le service: 
# /etc/init.d/nfs-kernel-server restart

On peut maintenant vérifier: 
# showmount -e 192.168.0.1
Export list for 192.168.0.1:
/home/nis 192.168.0.0/24
# exportfs
/home/nis  192.168.0.0/24

 Configuration du client NFS: 
# mkdir /home/nis
On doit créer ce répertoire dans lequel on va monter au démarrage le dossier /home/nis du serveur. 
Pour cela, on va éditer le fichier /etc/fstab:
# vim /etc/fstab
192.168.0.1:/home/nis   /home/nis     nfs    soft,timeo=5,intr,rsize=8192,wsize=8192    0   0
 # mount –a

·        Configuration du service NIS :
Installation et configuration du serveur NIS :
# aptitude install nis
Entrer votre nom de domaine NIS: arand.org

Avant de procéder à la configuration, il vaut mieux arrêter le service:
# /etc/init.d/nis stop

Pour que notre serveur soit un serveur NIS maitre, editer le fichier /etc/default/nis:
# vim /etc/default/nis
NISSERVER=master

# vim /etc/yp.conf
 ypserver 127.0.0.1

Demarrer le service:
 # /etc/init.d/nis start
Starting NIS services: ypserv yppasswdd ypxfrd ypbindbinding to YP server...........................................failed (backgrounded).

# cd /var/yp
On va fixer à 2000 le UID et GID minimal pour les utilisateurs du domaine NIS:
# vim Makefile
MINUID=2000
MINGID=2000

 # /usr/lib/yp/ypinit –m

 Configuration du client NIS :
# aptitude install nis
Entrer le nom du domaine NIS: arand.org

On peut verifier
# nisdomainname
arand.org
# ypwhich
Serveur
# ypcat hosts
192.168.0.1                Serveur
192.168.0.11               Client1
192.168.0.12              Client2

Attention au nombre de DEUX-POINTS pour ce qui suivent:
# echo "+::::::" >>/etc/passwd                        6 DEUX-POINTS
# echo "+::::::::" >>/etc/shadow                     8 DEUX-POINTS
# echo "+:::" >>/etc/group                             3 DEUX-POINTS

·        Création d’un compte utilisateur NIS :
# cd /var/yp
# adduser --home /home/nis/user1nis --uid 2000 user1nis
Attention!
-          Si l’UID de l’utilisateur est inferieur à 2000, les informations sur l’utilisateur ne seront pas disponibles sur le réseau.
-          Si l’option --home n’est pas spécifié avec le bon chemin, le dossier personnel de l’utilisateur ne lui sera pas disponible lorsqu’il se connecte à un poste client du réseau.