Installation NIS

Bonjour
Soit une installation toute fraîche de Debian Etch

~# uname -a Linux didactique 2.6.18-6-686 #1 SMP Sun Feb 10 22:11:31 UTC 2008 i686 GNU/Linux

Les utilisateurs se connectent sans souci sur la machine et même sous Samba depuis les
stations Windows connectées sur le réseau.

Pour servir les machines Linux du réseau, je tente de configurer un serveur NIS en suivant la méthode
lyre.mit.edu/~powell/debian-howto/nis.html (paragraphe 3)
Il me semble avoir scrupuleusement accompli toutes les étapes jusqu’au
point 6 qui donne l’impression que tout fonctionne parfaitement

didactique:~# /etc/init.d/nis stop didactique:~# /etc/init.d/nis start Starting NIS services: ypserv yppasswdd ypxfrd ypbind.

Le souci intervient à l’étape 7. Je me permets d’insérer l’ensemble du
texte pour être sûr de ne rien oublier d’important.

[code]didactique:~# /usr/lib/yp/ypinit -m

At this point, we have to construct a list of the hosts which will run NIS
servers. didactique 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 .
next host to add: didactique
next host to add:
The current list of NIS servers looks like this:

didactique

Is this correct? [y/n: y] y
We need a few minutes to build the databases…
Building /var/yp/didactique/ypservers…
Running /var/yp/Makefile…
make[1]: entrant dans le répertoire « /var/yp/didactique »
Updating passwd.byname…
Updating passwd.byuid…
Updating group.byname…
Updating group.bygid…
Updating hosts.byname…
Updating hosts.byaddr…
Updating rpc.byname…
Updating rpc.bynumber…
Updating services.byname…
Updating services.byservicename…
Updating netid.byname…
Updating protocols.bynumber…
Updating protocols.byname…
Updating netgroup…
Updating netgroup.byhost…
Updating netgroup.byuser…
Updating shadow.byname…
make[1]: *** Pas de règle pour fabriquer la cible « /etc/passwd.adjunct », nécessaire pour « passwd.adjunct.byname ». Arrêt.
make[1]: quittant le répertoire « /var/yp/didactique »
make: *** [target] Erreur 2
Error running Makefile.
Please try it by hand.[/code]

Et là, je cale…
L’erreur mentionnée avant l’arrêt ne semble rien évoquer sur le web.

Dans quelle direction faut-il chercher la solution? Toute aide sera très appréciée.

Bizarre, Je n’ai aucune trace de cette cible passwd.adjunct dans une machine sous sarge…

Bonjour
Heureux d’avoir trouvé quelqu’un d’aussi perplexe que moi.
Ceci semble assez cohérent avec le fait que je ne trouve aucune trace de “passwd.adjunct” sur ma machine non plus. Logique, puisqu’il n’arrive pas à le créer.

Par contre, j’en trouve une référence dans /etc/ypserv.conf

[code]# This is the default - restrict access to the shadow password file,

allow access to all others.

  •                        : *       : shadow.byname    : port
    
  •                        : *       : passwd.adjunct.byname : port
    
  •                        : *       : *                : none
    

[/code]
En bon néophyte, j’ai tenté de commenter le ligne correspondante, redémarrer NIS et retenter le coup. Toujours le même blocage au même endroit.
Aucune référence non plus dans le /var/yp/didactique de l’ancien serveur (sous Fedora 5) sur lequel NIS était fonctionnel.

Merci quand même d’avoir pris un peu de temps pour moi.

  1. Première solution, utilise
    http://boisson.homeip.net/Makefile.nis
    à la place de ton Makefile

  2. Si ça ne marche pas essaye avec

[code]* : * : shadow.byname : port

  •                        : *       : passwd.byname : port/mangle
    
  •                        : *       : passwd.byuid : port/mangle
    
  •                        : *       : *                : none[/code]
    

dans le ypserv.conf

Bonjour
Un tout grand merci pour ces solutions.
Je viens de tester la première. Apparemment avec succès.

De mon côté, j’avais déjà un peu chipoté le Makefile de la façon suivante:

all: passwd group hosts rpc services netid protocols netgrp shadow # passwd.adjunct
alors que ta proposition est
< all: $(ALL)

Ma solution semblait avoir fonctionné, mais je ne voulais pas crier victoire avant d’avoir pu tester sur place en connectant un utilisateur depuis une machine locale.
Les tests proposés par
linuxhomenetworking.com/wiki … In_Via_SSH
semblaient toutefois indiquer que tout allait bien.
MAIS, lorsque je reprends maintenant le Makefile d’origine, je constate qu’il passe aussi le

D’où, un peu de perplexité dans mon esprit.

Deuxième raison de m’inquiéter un peu, le test

me retournait et retourne toujours une (et une seule) erreur:

... Test 3: yp_match WARNING: Cette clé n'est pas dans la table (Map passwd.byname, key nobody)
Et je ne suis pas capable de mesurer l’importance de cette erreur: négligeable ou fondamentale?

L’application de la méthode 2 ne semble rien changer. Le processus

se déroule sans encombre, mais toujours la même erreur pour yptest

J’aurai la main sur ces machines ce vendredi. Mais peut-être pourrais-je être rassuré de suite?

[edit]PS: toutes les manoeuvres ont été réalisées en SSH sur mon serveur qui se trouve de l’autre côté de la ville[/edit]

As tu nobody dans ton fichier passwd du serveur nis?
Théoriquement tu as une réponse genre

[quote]Test 3: yp_match
nobody:*:65534:65534:nobody:/home:/bin/sh
[/quote]

[quote=“fran.b”]As tu nobody dans ton fichier passwd du serveur nis?
Théoriquement tu as une réponse genre

[quote]Test 3: yp_match
nobody:*:65534:65534:nobody:/home:/bin/sh
[/quote][/quote]

L’utilisateur “nobody” est bien défini dans /etc/passwd

didactique:~# cat /etc/passwd |grep nobody nobody:x:65534:65534:nobody:/:/bin/sh didactique:~# cat /etc/shadow |grep nobody nobody:*:14061:0:99999:7:::
mais le résultat de yptest est bien celui que j’indiquais plus haut. Rien d’autre dans cette rubrique “Test 3”

Sur place, pas d’accès au réseau pour les utilisateurs NIS. Ce n’était donc pas suffisant.
Dois-je rechercher un utilisateur qui ne serait pas défini dans /etc/passwd ET dans /etc/shadow ?

Merci de m’avoir accompagné jusque là.

Vraiment bizarre, que te donne sur un cleint

$ ypcat /etc/passwd
???

Merci
Je vais tester cela lundi.
J’imagine que le problème ne peut venir que des utilisateurs pré-existants sur le serveur (ex-Fedora) que je restaure.
J’ai bien fait une installation de zéro puis j’ai rajouté les utilisateurs dans /etc/passwd + /etc/shadow + /etc/group / + /etc/gshadow par simple copier/coller.
Mais le fait de revenir à la situation initiale (seulement les utilisateurs “système”) ne change rien.
J’ai dû, accidentellement, provoquer une autre modification.
Je vais me trouver une machine pour refaire une configuration de zéro et installer NIS avant l’ajout d’utilisateurs.

Voilà… Avec une machine toute fraîchement installée, avec juste “root” et le premier utilisateur défini pendant l’installation, j’ai exactement la même erreur:

Test 3: yp_match WARNING: Cette clé n'est pas dans la table (Map passwd.byname, key nobody)
et nobody existe bel et bien

didactique:~# cat /etc/passwd |grep nobody nobody:x:65534:65534:nobody:/nonexistent:/bin/sh didactique:~# cat /etc/shadow |grep nobody nobody:*:14072:0:99999:7:::
Sur cette machine neuve

didactique:/home# ypcat passwd mai:x:1000:1000:Yves Mairesse,,,:/home/mai:/bin/bash
mais

didactique:/home# ypcat shadow No such map shadow. Reason: Cette table n'est pas dans le domaine du serveur.
Effectivement, pas de map “shadow” dans la liste
ypcat -x

Durant l’installation de NIS (/usr/lib/yp/ypinit -m), j’ai eu des messages du type (je dis bien “du type”, car je n’ai pas recopié les mentions précises)

[quote]Updating passwd.byname…
failed to send ‘clear’ to local ypserv: RPC: Program not registeredUpdating
passwd.byuid…
failed to send ‘clear’ to local ypserv: RPC: Program not registeredUpdating
group.byname…
failed to send ‘clear’ to local ypserv: RPC: Program not registeredUpdating
group.bygid…
failed to send ‘clear’ to local ypserv: RPC: Program not registeredUpdating
shadow.byname…
[/quote]
comme référencé là: funix.free.fr/informatique/linuxdoc/nis/nis.pdf (page 10).
Je me suis un peu inquiété, mais pas plus que cela puisque cela semblait prévu.
Si je retente un

je retombe sur le même problème qu’avec l’autre machine:

... Updating shadow.byname... make[1]: *** Pas de règle pour fabriquer la cible « /etc/passwd.adjunct », nécessaire pour « passwd.adjunct.byname ». Arrêt. make[1]: quittant le répertoire « /var/yp/didactique » make: *** [target] Erreur 2 Error running Makefile. Please try it by hand.

Bref, un grand retour à la case départ. Je continue de chercher.

Retour sur le serveur “défaillant” en chair et en os.

J’ai refait le Makefile en laissant uniquement les maps
passwd shadow et group
Pas de message d’erreur lors de ypinit -m
mais le test
ypcat shadow
répond
No such map shadow: Reason: Cette table n’est pas dans le domaine du serveur
alors que
ypcat passwd
donne bien la liste de tous les utilisateurs…