Page suivante Page précédente Table des matières
9. Que faut-il pour configurer NIS+ ?
9.1 Les programmes
Le code de NIS+ pour Linux a été développé pour la bibliothèque GNU C 2. Il existe également une version pour la libc5 de Linux, puisque toutes les applications commerciales sont compilées en édition de lien avec cette bibliothèque, et que vous ne pouvez pas les recompiler en utilisant la glibc. Il y a des problèmes avec la libc5 et NIS+: Vous ne pourrez pas réaliser d'édition de lien statique de vos programmes, et les programmes compilés avec cette bibliothèque ne fonctionneront pas avec les autres versions de la libc5.
Vous devez récupérer et recompiler la dernière version de la glibc2, et une distribution basée sur cette bibliothèque comme la Redhat Mustang ou l'instable Debian. Mais attention : il s'agit toujours d'une version bêta. Lisez la documentation concernant la glibc et celle fournie par la distribution. La glibc2.0.x ne gère pas pleinement NIS+, et ne l'intégrera jamais. La première version avec la gestion NIS+ sera la 2.1.
Les programmes clients NIS+ peuvent être récupérés sur les sites :
Site Repertoire Nom du fichier ftp.kernel.org /pub/software/libs/glibc libc-*, glibc-crypt-*, glibc-linuxthreads-* ftp.kernel.org /pub/linux/utils/net/NIS+ nis-tools-1.4.2.tar.gz ftp.kernel.org /pub/linux/utils/net/NIS+ pam_keylogin-1.2.tar.gzLes distributions basées sur la glibc peuvent être récupérées sur les sites :
Site Repertoire ftp.redhat.com /pub/redhat/redhat-5.1 ftp.debian.org /pub/debian/dists/hammPour compiler la glibc, suivez les instructions livrées avec les sources. Vous pouvez trouver à l'adresse suivante la version patchée de la libc5, basée sur NYS et sur les sources de la glibc, qui peut être utilisée pour remplacer la libc5.
Site Repertoire Nom du fichier ftp.kernel.org /pub/linux/utils/net/NIS+ libc-5.4.44-nsl-0.4.10.tar.gzVous pouvez également consulter le site http://www-vt.uni-paderborn.de/~kukuk/linux/nisplus.html pour plus d'informations ainsi que pour avoir les dernières sources.
9.2 Configurer un client NIS+
IMPORTANT : pour configurer un client NIS+, lisez la documentation NIS+ Solaris pour voir ce qu'il convient de faire du côté serveur. Ce document ne décrit que le côté client !
Après avoir installé la nouvelle libc ainsi que nis-tools, créez les références pour le nouveau client sur le serveur NIS+. Assurez vous que
portmapest lancé. Ensuite, vérifiez que votre PC Linux est à la même heure que le serveur NIS+. Pour réaliser des RPC sécurisés, vous disposez d'une courte période de 3 minutes, durant lesquelles les références sont valides. Lancerxntpdsur toutes les machines peut être une bonne idée. Après tout ça, exécutez les commandes suivantes :
domainname nisplus.domain. nisinit -c -H <serveur NIS+>pour initialiser le système de lancement. Lisez la page de manuel de nisinit pour connaître les différentes options existantes. Assurez-vous que le nom de domaine est toujours bien positionné lors d'un réamorçage. Si vous ne connaissez pas votre nom de domaine NIS+ sur votre réseau, demandez-le à votre administrateur système.
Pensez également à modifier votre ficher
/etc/nsswitch.conf. Assurez-vous que le seul service situé avec publickey estnisplus("publickey: nisplus"), et rien d'autre !Ensuite, lancez
keyservet assurez-vous qu'il sera toujours lancé lors de l'amorçage de la machine. Lancezpour conserver la clef privée sur votre système (j'espère que vous avez ajouté la clef publique de la nouvelle machine sur le serveur NIS+ !).keylogin -r"niscat passwd.org_dir" doit désormais vous donner toutes les entrées contenues dans la base de données passwd.
9.3 NIS+, keylogin, login et PAM
Lorsque l'utilisateur se connecte, il a besoin de fixer sa clef secrète sur le serveur de clef. Cela est effectué en appelant
keylogin. Le login à partir du paquetage shadow fera cela à la place de l'utilisateur. Pour un login de type PAM, vous devez installerpam_keylogin-1.1.tar.gzet modifier le fichier/etc/pam.d/loginpour utiliserpam_unix_auth, et nonpwdbqui ne gère pas NIS+. Voici un exemple :
#%PAM-1.0 auth required /lib/security/pam_securetty.so auth required /lib/security/pam_keylogin.so auth required /lib/security/pam_unix_auth.so auth required /lib/security/pam_nologin.so account required /lib/security/pam_unix_acct.so password required /lib/security/pam_unix_passwd.so session required /lib/security/pam_unix_session.so
9.4 Le fichier nsswitch.conf
Le fichier de configuration
/etc/nsswitch.confdétermine l'ordre dans lequel sont effectuées les recherches de certaines informations, en fonction des données et des services, de la même manière que le fichier/etc/host.confdétermine la façon dont les recherches de noms de machines se font. Par exemple, la ligne
hosts: files nisplus dnsindique que la fonction de recherche doit dans un premier temps chercher dans le fichier local
/etc/hosts, suivi par une recherche NIS+ et enfin via le service de recherche de noms (/etc/resolv.confetnamed). À ce moment là, si aucune machine n'est trouvée, alors une erreur est renvoyée.Voici un exemple de bon fichier
/etc/nsswitch.conf# Un exemple de configuration de NSS. Ce fichier doit etre trie en # mettant en tete les services les plus utilises. # # L'entree '[NOTFOUND=return]' signifie que la recherche d'une entree # doit s'arreter si la recherche dans l'entree precedente n'a rien donne # Notez que si la recherche echoue pour tout autre raison # (par exemple, le serveur NIS ne repond pas), alors la recherche continue # avec l'entree suivante. # # Les entrees connues sont : # # nisplus NIS+ (NIS version 3) # nis NIS (NIS version 2), connu comme YP # dns DNS (Domain Name Service) # files Fichiers locaux # db Bases de donnees /var/db # [NOTFOUND=return] Arret de la recherche si l'on a rien trouve # passwd: compat # pour libc5: passwd: files nisplus group: compat # pour libc5: group: files nisplus shadow: compat # pour libc5: shadow: files nisplus passwd_compat: nisplus group_compat: nisplus shadow_compat: nisplus hosts: nisplus files dns services: nisplus [NOTFOUND=return] files networks: nisplus [NOTFOUND=return] files protocols: nisplus [NOTFOUND=return] files rpc: nisplus [NOTFOUND=return] files ethers: nisplus [NOTFOUND=return] files netmasks: nisplus [NOTFOUND=return] files netgroup: nisplus bootparams: nisplus [NOTFOUND=return] files publickey: nisplus automount: files aliases: nisplus [NOTFOUND=return] files
Page suivante Page précédente Table des matières