Bonjour,
Je sais que c'est légèrement hors sujet, mais y'a pas de forum FreeBSD ou Unix sur jv.com, alors je post ici ^^
Pour résumer, je dois configurer un client NIS sur une FreeBSD. Le serveur est fonctionnel (sur Debian) car j'ai un autre client sur Ubuntu qui tourne correctement.
Je ne dois pas être trop loin du but, car en faisant un ypcat passwd, je récupère bien la liste des utilisateurs, mais lorsque je tente de me connecter via gdm, je me prends un "username or password invalid".
Autre précision, je monte le home via nfs sur /home -> /usr/home (lien symbolique)
Sur gougueule je trouve pas mal de documentations sur la configuration d'un serveur NIS sur FreeBSD, voire un client-serveur NIS, mais pas de client seul.
Je ne sais pas si quelqu'un peut m'aiguiller ?
Merci
P.S.: j'ai suivi la doc FreeBSD
Peux-tu poster le contenu des fichiers suivants :
-- /etc/rc.conf
-- /etc/group
-- /etc/host.conf
-- /etc/hosts
-- /etc/master.passwd
Afin d'écarter un problème lié à gdm, il serait aussi intéressant de savoir si tu parviens à te loguer depuis la console.
J'ai pas les fichiers sous la main, mais grossièrement, j'ai ça :
rc.conf :
[...]
nis_client_enable="YES"
nisdomainname="LICENCEPRO"
group :
[...]
+:*::
master.passwd :
[...]
+:::::::::
hosts :
127.0.0.1 localhost
127.0.1.1 unix.da2i.org unix
+::
host.conf, j'en ai aucune idée, mais ça doit être un truc du genre
multi on
Il faut aussi savoir que pour la résolution des noms, mon serveur Debian en plus d'être serveur NFS et NIS, est serveur DNS
Donc mon resolv.conf contient ça :
domain da2i.org
search da2i.org
nameserver x.x.x.10
nameserver x.x.x.2
le serveur étant en .10, et la passerelle VMWare étant en .2
Autre précision, toutes les machines sont virtuelles, et le réseau est composé d'un serveur (samba,nis,nfs,apache,bind) en .10, d'un client windows (2000pro) en .30, d'un client Linux (ubuntu8.10) en .40 et d'un client Unix (FreeBSD) en .20.
Correction, dans host.conf je dois avoir
dns
nis
smb
...
Je posterai le contenu exact ce soir.
sankukai +1, est ce que tu arrive a te logguer en console ou par ssh ?
En ssh ça ne passe pas non plus, je me mange un "access denied".
Et en console, "login incorrect".
Mon host.conf :
hosts
dns
nis
tu es root sur la machine j'imagine.
arrive tu a te connecter manuellement au NIS avec telnet ?
Heu, je peux le pinger.
Que veux-tu dire par "connexion telnet" ?
Je découvre le protocole NIS... tu aurais le numéro de port sous la main ?
Bon, ok, port 111
Je m'y connecte sans problème
unix# telnet serveur 111
Trying 192.168.29.10...
Connected to serveur.da2i.org.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
Je ne sais pas comment c'est fais chez toi.
J'utilise nss pour faire le lien avec nis
le fichier /etc/nsswitch.conf est bien configurer ? il devrait contenir :
passwd: files nis
shadow: files nis
group: files nis
hosts: files nis dns
J'avais quelque chose de similaire... sauf pour shadow
unix# less /etc/nsswitch.conf
group: files nis
hosts: files dns nis
passwd: files nis
shadow: files
J'ai ajouté nis pour shadow, mais ça ne change rien.
As tu verifier que le demon NIS est bien demarer ? (dans la liste des processus)
et verifier qu'il y a bien une requete NIS sur le reseau (avec wireshark). Tu peux peut etre aussi regarder les logs du serveur NIS pour verifier si il y a bien eu contact.
Alors, sur le client, j'ai bien les services lancés (enfin je pense que ce sont les bons) :
root 572 0.0 0.5 1648 1208 ?? Ss 7:58PM 0:00.01 /usr/sbin/rpcbind
root 575 0.0 0.4 1380 1024 ?? Is 7:58PM 0:00.04 /usr/sbin/ypbind
Pour la requête au serveur, j'ai bien quelque chose au moment où j'entre le login :
dans le sens serveur -> client
serveur:~# tcpdump -n -i eth0 dst 192.168.29.20
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
21:17:01.456966 IP 192.168.29.10.864 > 192.168.29.20.743: UDP, length 32
21:17:01.458478 IP 192.168.29.10.864 > 192.168.29.20.743: UDP, length 72
21:17:01.460191 IP 192.168.29.10.864 > 192.168.29.20.743: UDP, length 32
21:17:01.461690 IP 192.168.29.10.864 > 192.168.29.20.743: UDP, length 72
dans le sens client -> serveur
serveur:~# tcpdump -n -i eth0 src 192.168.29.20
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
21:20:41.130227 IP 192.168.29.20.743 > 192.168.29.10.864: UDP, length 80
21:20:41.132091 IP 192.168.29.20.743 > 192.168.29.10.864: UDP, length 88
21:20:41.133819 IP 192.168.29.20.743 > 192.168.29.10.864: UDP, length 80
21:20:41.137121 IP 192.168.29.20.743 > 192.168.29.10.864: UDP, length 88
J'oubliais aussi ça :
unix# ypcat passwd
sansb:x:1004:1003::/home/sansb:/bin/bash
lenain:x:1003:1003::/home/lenain:/bin/bash
windows$:x:1002:1002::/dev/null:/bin/false
girondee:x:1005:1003::/home/girondee:/bin/bash
Côté client, je récupère bien le passwd avec les utilisateurs qu'il faut. C'est juste le login qui bloque...
ah, la chose suivante m'est arrive:
ma machine locale definissait les memes UIDs que le serveur NIS et du coup ca se passait mal, tu n'aurais pas quelquechose de similaire qui t'arrive ?
Autres chose (a long shot), peut etre la fonction de hashage du login utilise n'est pas la meme entre les deux machines, du coup, apres hashage tu n'as pas le bon mot de passe...
Je pense également que c'est un problème lié au protocole de chiffrement... Mais je n'ai pas trouvé comment le (re)définir. Une idée ?
Pour les UID's, je ne pense pas qu'il y ait de problèmes parce que sur les clients nous n'avons aucun utilisateur (à par root).
desole, je ne suis jamais descendu a ces niveau la. J'ai deja depanne des problemes lie a NIS, mais parceque j'etais impacte et j'ai regarde ca avec l'admin systeme. Je ne me suis jamais pose ces questions la. Quelqu'un d'autre ? chris ?
J'ai peut être trouvé un début de réponse, mais c'est côté serveur.
Hors, si je change la fonction de hashage côté serveur pour que ça colle à celle utilisée par FreeBSD, c'est pas certain que ça continue de fonctionner pour le client sur Ubuntu...
L'idéal serait de trouver ce réglage sur le client (ou dans le pire des cas, sur le client et le serveur).
Merci quand même de t'être penché sur mon problème ;-)