NIS + NFS

J’ai installé NIS et NFS pour une association avec un serveur et 8 postes clients, tous sous Debian. Je rédige ce guide en tant qu’aide-mémoire au cas où j’aurais à recommencer un jour, et parce qu’il peut être utile à quelqu’un d’autre.

Installation et prérequis

Tout d’abord, il faut installer NIS sur le serveur et les clients :

# apt-get install nis

Le script d’installation du paquet vous demande le nom de domaine, indiquez quelque chose d’adéquat. Le nom de domaine NIS doit être le même sur le serveur et les clients. Par la suite, si vous avez besoin de le changer, éditez /etc/defaultdomain. On vous explique ensuite que vous allez devoir configurer à la main, en suivant les instructions de /usr/share/doc/nis/nis.debian.howto.gz, qui sont utiles mais n’expliquent pas tout.

Configuration du serveur

Il faut commencer par éditer /etc/hosts pour s’assurer de ces deux lignes :

127.0.0.1       localhost loopback
192.168.1.254   hostname_serveur

Éditez ensuite /etc/default/nis pour changer la valeur de « NISSERVER » à « master » et celle de « NISCLIENT » à « false ».

Éditez ensuite /etc/ypserv.securenets pour remplacer la ligne :

0.0.0.0                 0.0.0.0

par

255.255.0.0             192.168.0.0

Lancez ensuite :
# /etc/init.d/nis stop
# /etc/init.d/nis start
# /usr/lib/yp/ypinit -m

qui vous donne cette sortie :

# /usr/lib/yp/ypinit -m
At this point, we have to construct a list of the
hosts which will run NISservers.
localhost.localdomain 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 ^d.
next host to add:  localhost.localdomain
next host to add:

Faîtes Control+d pour obtenir cette réponse :

The current list of NIS servers looks like this:
localhost.localdomain
Is this correct?  [y/n: y]

Tapez « y ».

Si comme moi vous voulez exporter les groupes systèmes, éditez /var/yp/Makefile et changez la valeur de « MINGID » :

MINGID=0

Configuration des clients

Éditer aussi /etc/hosts sur les clients :

127.0.0.1       localhost loopback
192.168.1.5	hostname_client

Éditez ensuite /etc/yp.conf :

ypserver 192.168.1.254

Assurez-vous que votre /etc/nsswitch.conf ressemble à ça :

passwd:         compat
group:          compat
shadow:         compat

hosts:          files dns
networks:       files dns

protocols:      db files
services:       db files nis
ethers:         db files
rpc:            db files
netgroup:       files nis
netmasks:       files
publickey:      files
aliases:        files nis

Ensuite éditez /etc/passwd et ajoutez-y la ligne :

+::::::

Dans /etc/shadow :

+::::::::

Dans /etc/group :

+:::

Export des répertoires personnels via NFS

Avec une gestion des comptes centralisée, vous aurez peut-être envie d’exporter les répertoires personnels du serveur, pour que vos utilisateurs retrouvent leurs billes quel que soit le poste où ils se connectent. Il suffit d’installer le paquet nfs-common sur le serveur et les clients. Sur le serveur, il faut de plus installer nfs-kernel-server et créer un /etc/exports qui ressemble à :

/home           192.168.1.1(rw,sync,no_root_squash,subtree_check)
/home           192.168.1.2(rw,sync,no_root_squash,subtree_check)
/home           192.168.1.3(rw,sync,no_root_squash,subtree_check)
/home           192.168.1.4(rw,sync,no_root_squash,subtree_check)
/home           192.168.1.5(rw,sync,no_root_squash,subtree_check)
/home           192.168.1.6(rw,sync,no_root_squash,subtree_check)
/home           192.168.1.7(rw,sync,no_root_squash,subtree_check)
/home           192.168.1.8(rw,sync,no_root_squash,subtree_check)

Il ne reste plus qu’à ajouter cette ligne au /etc/fstab des clients :

192.168.1.254:/home    /home           nfs    rsize=4096,wsize=4096,hard,intr,nosuid,lock 0 0
, 13 septembre 2003. Catégorie: Système.

À propos de l’auteur, Almic