6. De quoi avez-vous besoin pour configurer NYS ?

Contenu de cette section

6.1 Déterminer si vous êtes un serveur, un esclave ou un client

Pour répondre à cette question, vous devez considérer deux cas :

Dans le premier cas, vous avez deux possibilités :

Comme pour le NIS traditionnel, si vous n'avez pas de serveur NIS, vous devrez alors avoir besoin d'un programme serveur NIS (ypserv), et vous devrez désigner une de vos machines comme étant le serveur NIS maître. De même, vous pouvez configurer au moins une machine comme étant un serveur esclave.

6.2 Les programmes

Vous devez récupérer et recompiler la bibliothèque de services NYS libnsl.so. Si vous n'avez pas les outils DLL installés, vous devez récupérer une version statique et dynamique de la bibliothèque mentionnée ci-dessus dans les sites ci-dessous. Notez que les versions précompilées peuvent être (et probablement sont) plus anciennes que les derniers codes sources mis à jour.

La bibliothèque NYS (source et version précompilée) peut être obtenue sur les sites suivants :

    Site                Repertoire               Nom du Fichier

    ftp.lysator.liu.se  /pub/NYS/libs             nys-0.27.4.tar.gz
    ftp.lysator.liu.se  /pub/NYS/binaries/lib     libnsl.so.1.0.a26

    ftp.funet.fi        /pub/Linux/BETA/NYS/libs  nys-0.27.?.tar.gz

Des versions précompilées de login et de su sont également disponibles sur les sites suivants :

    Site                Repertoire                     Nom programme

    ftp.lysator.liu.se  /pub/NYS/binaries/bin          login
    ftp.lysator.liu.se  /pub/NYS/binaries/bin          su

    ftp.funet.fi        /pub/Linux/BETA/NYS/bin        login
    ftp.funet.fi        /pub/Linux/BETA/NYS/bin        su

De même, voici quelques références à des fichiers de configuration :

    Site                Repertoire                     Fichier

    ftp.lysator.liu.se  /pub/NYS/binaries/etc          *conf
    ftp.funet.fi        /pub/Linux/BETA/NYS/etc        *conf

Pour ce qui est de la compilation de la bibliothèque nsl, suivez les instructions livrées avec la bibliothèque. Si vous voulez compiler la bibliothèque dynamique, vous devez avoir les outils DLL installés dans le répertoire standard : /usr/dll. Les outils DLL (tools-2.11.tar.gz ou plus récents) peuvent être obtenus sur bon nombre de sites.

6.3 Configurer un client NYS utilisant NYS

A la différence du NIS traditionnel, il n'y a pas de configuration requise pour configurer un client. Tout ce qui est demandé, c'est que le fichier de configuration NIS (/etc/yp.conf) indique le bon serveur NIS. De même, le fichier de configuration /etc/nsswitch.conf doit être correcte.

Regarder les exemples livrés avec les sources du code.

6.4 Le fichier nsswitch.conf

Le fichier /etc/nsswitch.conf détermine l'ordre dans lequel les recherches d'informations sont effectuées, comme le fichier /etc/host.conf qui détermine la manière de rechercher les machines. Regardez les fichiers d'exemples fournis dans les sources de la distribution. Par exemple, la ligne

    hosts: files nis dns

spécifie que les fonctions de recherche de machines doivent chercher dans un premier temps dans le fichier /etc/hosts puis effectuer une rechercher via NIS et enfin avec le DNS. (/etc/resolv.conf et named). Si la machine n'est pas trouvée, une erreur est alors retournée.

6.5 Rendre vos exécutables intelligents

Au lieu de refaire l'édition de liens pour chacun des binaires avec la bibliothèque NYS (libnsl.so), une solution assez propre consiste à construire une libc avec NYS. Tout ce dont vous avez besoin est de recompiler une nouvelle libc et de remplacer la version existante /lib/libc.so.x.y.z pour tous les programmes ayant été compilés avec une libc statique.

Cette solution vous donne l'avantage de permettre une utilisation transparente des mots de passes shadow. (via le fichier /etc/nisswitch.conf).

Suivez les étapes ci-dessous pour reconstruire une libc améliorée avec NYS.

La bibliothèque générée après compilation a pour nom

    libc.so.4.5.26

et se trouve dans le répertoire jump/lic-nys. Pour installer cette bibliothèque, nous vous conseillons de la copier dans /lib avec un nom lexicographiquement plus grand que celui qu'il possède. Ajouter juste un a serait une bonne ruse. Par exemple :

    % cp jump/libc-nys/libc.so.4.5.26 /lib/libc.so.4.5.26a

Aternativement, ajouter nys serait une manière de l'identifier rapidement.

Maintenant, lancez la commande :

    % ldconfig
qui remet à jour le cache pour utiliser la nouvelle bibliothèque. La stratégie d'édition de liens peut être examinée en tapant la commande ldconfig -p.

Basiquement, c'est prêt. Tous vos programmes devraient utiliser NYS. Notez toutefois que le programme login est compilé statiquement et donc ne peux pas accéder aux nouvelles fonctions NYS. Vous devez soit recompiler le programme sans l'option -static, ou bien réaliser l'édition de liens avec la bibliothèque libnsl.a.


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre