Pour répondre à cette question, vous devez considérer deux cas :
Dans le premier cas, vous avez deux possibilités :
libnsl.so
(ou avec la bibliothèque statique
libnsl.a
). Pour cela, ajoutez cette ligne :
LIBS=-lnsl
dans votre makefile. Cela signifie que vous voulez utiliser les
fonctionnalités
de bibliothèque de services réseaux.
Normalement, tous les démons réseaux
et le programme login
doivent être recompilés.
libc
pour y inclure les fonctions de gestion des clients NYS. Il ne
reste plus qu'à refaire l'édition de liens statiques des programmes.
(les programmes dynamiquement liés prennent automatiquement la
nouvelle version de la libc). Regardez le chapitre 6.5 ci-dessous pour
plus de détails sur cette option.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.
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 Directory File Name
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/OS/Linux/BETA/NYS/libs nys-0.27.4.tar.gz
ftp.funet.fi /pub/OS/Linux/BETA/NYS/lib libnsl.so.1.0.a26
Des versions précompilées de login
et de su
sont également
disponibles sur les sites suivants :
Site Directory File Name
ftp.lysator.liu.se /pub/NYS/binaries/bin login
ftp.lysator.liu.se /pub/NYS/binaries/bin su
ftp.funet.fi /pub/OS/Linux/BETA/NYS/bin login
ftp.funet.fi /pub/OS/Linux/BETA/NYS/bin su
De même, voici quelques références à des fichiers de configuration :
Site Directory File Name
ftp.lysator.liu.se /pub/NYS/binaries/etc *conf
ftp.funet.fi /pub/OS/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.
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.
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.
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.
ftp.lysator.liu.se:/pub/NYS/libs
et extraire dans le répertoire libc-linux .
La distribution actuelle de NYS est "nys-0.27.4.tar.gz".
./configure
et répondez n
à la question
Values correct (y/n) [y] ?
Parcourez chacune des questions jusqu'à la dernière :
Build a NYS libc from nys-0.27 (y default) ?
Répondez y
.
% make
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