Servidor NIS bajo Ubuntu
Este post describe el proceso en configuración y puesta en funcionamiento de un servidor NIS (Network Information Service) bajo la distribución Ubuntu Edgy-Eft de GNU/Linux. Una vez completado el proceso seremos capaces de loguearnos en cualquier cuenta de usuario que tenga el servidor, a través de la red.
Pasos para la puesta en marcha del servidor:
1- Debemos instalar los paquetes adecuados que nos instalarán los demonios necesarios:
apt-get install portmap
apt-get install nis
NOTA: Cuando estemos instalando el paquete nis, nos pedirá un nombre de dominio nis -> ponemos por ejemplo “midominio”, este nombre será el mismo que el del cliente y se puede cambiar en cualquier momento tecleando domainname <nombre>. Una vez puesto, se quedará escuchando mediente yp_bind las ofertas NIS de la red. Hay que esperar a que termine (sin éxito, por supuesto)
2- El servicio NIS no se lleva bien con el shadowing de passwords (si en /etc/passwd, la segunda columna es una x, tus passwords están shadowed), por tanto hay que arreglar esta situación:
2.1- Escoger un usuario, (o crearlo)
adduser <usuario>
2.2- Una vez elegido el usuario que permitiremos vía NIS, debemos modificar el archivo /etc/shadow de la siguiente manera:
Buscamos el usuario en el archivo y le añadimos un # delante, quedando algo así:.
#usuario:$1$Uf2VIg0:12:0:5643:4:::
Ahora copiamos el segundo campo (en negrita) y nos vamos al archivo /etc/passwd, buscamos a ese mismo usuario, que estará así:
usuario:x:1001:1001:,,,:/home/usuario:/bin/bash
Y sustituimos la x por el password encriptado que habíamos copiado de /etc/shadow
Hecho esto, tenemos el usuario preparado para validarse vía NIS.
3-Iniciar servicios y crear mapas NIS.
Iniciamos servicios necesarios:
/usr/sbin/ypserv start
/usr/sbin/rpc.yppasswd
/usr/sbin/rpc.ypxfrd
Nota: Las rutas pueden cambiar
4- Crear mapas NIS:
/usr/lib/yp/ypinit -m
5- Comprobar con rpcinfo -p y configurar el cliente…
ACLARACIONES: Cualquier cambio en los logins del servidor, así como nombres de dominio deberan ser correctamente actualizados tecleando: make en /var/yp/
Pasos para la puesta en marcha del cliente:
1- Instalamos el paquete nis
apt-get install nis
2- Configuramos el nombre de dominio en la instalación o tecleando:
domainname <nombre>
3- Modificar el fichero /etc/nsswitch.conf añadiendo al final de cada línea la palabra “nis“
Ejemplo:
passwd compat nis
4- Modificamos el fichero /etc/yp.conf añadiendo:
ypserver <ip_del_servidor_nis>
5- Añadimos la siguiente línea a /etc/passwd
+::::::
6- Lanzamos el servicio ypbind
ypbind
7- Nos logueamos en una consola (CTRL+ALT+F1) con el usuario y password escogidos en el servidor.
NOTA: Si diera algún error al conectar, podría ser por el firewall: borramos sus reglas
iptables -F
Y nada más. Si no funcionase, postead las dudas y errores.
Saludos!!
Pablo Mathamel López

Hola, yo estoy haciendo la prueba con edgy y no consigo logearme contra el servidor nis
Quiero decir: El servidor nis funciona. Esta bajo SuSE y he probado con clientes SuSE y la autentificación es correcta. El problema es cuando configuro un cliente nis. No me puedo logear. Alguna idea?
Dan: La verdad es que así sin tener datos no sé exactamente qué puede pasar. En cualquier caso, NIS provee simplemente autenticación remota, con acceso local. Tal vez sea por diferencias con el portmap de ubuntu y suse. Has probado NFS? también corre sobre portmap y te serviría para descartar posibilidades.
De todas formas si posteas más datos (configuraciones, etc), tal vez podamos ayudarte mejor.
Un saludo.
okei, nfs funciona perfectamente.La configuracion para el cliente nis-ubuntu es la siguiente: en /etc/yp.conf he puesto una linea domain nombre_de_dominio server IP_servidor
en /etc/defaultdomain he puesto el nombre del dominio
en passwd, shadow, group y gshadow he añadido una linea +:::::, siendo el numero de : lo que corresponde a cada fichero
y despues he reiniciado
El servidor nis funciona con clientes suse
Dan:
Configura el cliente ubuntu así:
-Linea +:::::: ponla sólo en en /etc/passwd
-Quita el shadowing (sigue el post)
-Para establecer el dominio, si has instalado el paquete “nis”, deberia funcionar el comando domainname , y no hace falta modificar ficheros
-Supongo que lo habrás probado, pero por si acaso: Tanto en cliente como server, borra reglas de iptables: iptables -F && iptables -t nat -F
En fin, no se me ocurre nada más. No tengo suse, pero bueno, si no funciona ya veremos como arreglarlo
Postea resultados
Saludos
Sigue sin funcionar. Una cosa se me ocurre, en el servidor tengo en marcha el shadowing. ¿Por que hay que quitarlo?
En principio no hace falta. Yo lo he probado de las dos formas, y funciona bien, sin embargo nis se diseño en los orígenes de Unix, época en la cual el shadowing no existia, y es posible que no se lleve bien con shadowing.
Prueba a quitarlo, no obstante, modifica el archivo /etc/nsswitch.conf, añadiendo “nis” a la linea que empiece por “shadow”.
Ya nos contarás. Saludos
Efectivamente, con usuarios sin shadow la autentificacion es correcta. Pero a mi lo que me interesa es no tocar el servidor (sobre todo porque no lo administro yo).
Hola, yo estoy probando a montar un servidor y un cliente NIS y me da problemas, no consigo logearme y parece como si el cliente ni med etectara el servidor. Que puedo hacer? Y una pregunta, para configurar el servidor no hay que ir tambien a /etc/default/nis y establecer “yes” a la linea que habla de NISSERVER y ponerle NISSERVER=master ?? Muchas gracias de antemano y un saludo
I setup NIS on Ubuntu 6.06.1 and cannot get vsftpd to use NIS users. I think I need to tell PAM to authenticate NIS users. How can I do this?
Estoy haciendo un trabajo investigativo sobre Iptables bako Linux, mo he encontrado, podrias ayudarme a elaborar algo de mi trabajo?
hola he estado siguiendo los pasos pero en la paete donde tecleo /usr/lib/yp/ypinit -m me dice permiso denegado la verdad no se que está pasando. Podrías ayudarme?…
Sandra, Asegurate de que has ejecutado el comando como superusuario.
hola tambien segui los pasos pero en la parte donde se debe ejecutar ypinit -m me sale el aviso que la orden no a sido encontrada , que puedo hacer ????
Y puedo loguearme contra este servicio nis con un windows xp?
#Hernan:
Con NIS no.
Si quieres centralizar usuarios Windows en una máquina Linux necesitas configurar esta ultima como un Controlador Primario de Dominio (Active Directory).
Mírate este hilo: http://www.esdebian.org/forum/viewtopic.php?forum=16&showtopic=78365
He configurado nis server en Suse y estoy tratando de configurar el cliente en ubuntu, el servidor funciona correctamente ya que lo he probado en un cliente suse y todo ok, en ubuntu todas las pruebas que he realizado lanza buenos resultados pero al momento de reiniciar el nis al parecer no se logra conectar al servidor y falla te dejo el test del cliente ubuntu a ver si me puedes dar una mano
root@inv1:/etc# yptest
Test 1: domainname
El nombre del dominio configurado es “investigacion_epn.ec”
Test 2: ypbind
Used NIS server: sauron.matematica
Test 3: yp_match
nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
Test 4: yp_first
jerazo jerazo:x:1000:100:Julio Erazo:/homes/jerazo:/bin/bash
Test 5: yp_next
prueba prueba:x:1002:100:prueba:/homes/prueba:/bin/bash
oracle oracle:x:103:103:Oracle user:/opt/oracle:/bin/false
quagga quagga:x:104:107:Quagga routing daemon:/var/run/quagga:/bin/false
suse-ncc suse-ncc:x:105:109:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bash
nobody nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
haldaemon haldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/false
merino merino:x:1001:100:Pedro Merino:/homes/merino:/bin/bash
dhcpd dhcpd:x:102:65534:DHCP server daemon:/var/lib/dhcp:/bin/false
messagebus messagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/false
Test 6: yp_master
sauron.matematica
Test 7: yp_order
0
Test 8: yp_maplist
shadow.byname
protocols.byname
passwd.byuid
hosts.byname
hosts.byaddr
services.byname
services.byservicename
netgroup
passwd.byname
rpc.bynumber
group.byname
networks.byname
networks.byaddr
netgroup.byuser
netgroup.byhost
group.bygid
ypservers
ethers.byname
ethers.byaddr
rpc.byname
auto.master
protocols.bynumber
Test 9: yp_all
jerazo jerazo:x:1000:100:Julio Erazo:/homes/jerazo:/bin/bash
prueba prueba:x:1002:100:prueba:/homes/prueba:/bin/bash
oracle oracle:x:103:103:Oracle user:/opt/oracle:/bin/false
quagga quagga:x:104:107:Quagga routing daemon:/var/run/quagga:/bin/false
suse-ncc suse-ncc:x:105:109:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bash
nobody nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
haldaemon haldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/false
merino merino:x:1001:100:Pedro Merino:/homes/merino:/bin/bash
dhcpd dhcpd:x:102:65534:DHCP server daemon:/var/lib/dhcp:/bin/false
messagebus messagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/false
Todas las pruebas pasaron
Hola, he seguido todo los pasos, y pues ya el servidor estaba configurado con el NIS y algunos equipos tambien,pero quice instalar uno nuevo y me reconoce los usuarios del servidor pero me sale un error, algo con el /home del usuario y nunca me inicia sesion. Gracias de antemano por la ayuda
Configure el sevidor nis pero a la hora de conectarme me da error de /bin/bash no entiendo que pasa
A la final lo ultimo que escribi fue montar el home de los usuarios usando nfs. Ahora tengo otro problema y es que cuando pongo la ip de los equipos clientes estatica el servicio NIS no arranca solo me toca hacerlo manualmente, mientras que si tengo la ip del equipo en modo intinerante si lo hace, que puedo hacer ahi, ahora tengo instalado el ubuntu 8.04. Gracias por la ayuda.
yo necesito instalar un cliente en ubuntu necesito fuentes que funcion de antemano gracias por ellas