Tuesday, May 27, 2008

Introduccion a Servicios de Directorios

Configurando un NIS en debian

Esta es la primera parte de una serie de notas, sobre como seria la correcta configuracion de servicios de Directorios en debian.
Comenzaremos con NIS, para luego dirigirnos hacia OPENLDAP.

Nis nos provee un sistema de passwords centralizados, al estilo, dentro de una red.

El esquema de esto, funciona asi.

Debian: Servidor
Marcelo y pepe : clientes


Existiria un Servidor de Cuentas, donde se alojan todas las cuentas, y los clientes.

En el servidor , deberiamos instalar el software nis (Que es el mismo para cliente y Servidores)



debian:~# apt-get install nis
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Se instalarán los siguientes paquetes extras:
libdbus-1-3 libdbus-glib-1-2 libslp1 make portmap
Paquetes sugeridos:
slpd openslp-doc make-doc-non-dfsg
Paquetes recomendados
dbus
Se instalarán los siguientes paquetes NUEVOS:
libdbus-1-3 libdbus-glib-1-2 libslp1 make nis portmap
0 actualizados, 6 se instalarán, 0 para eliminar y 50 no actualizados.
Necesito descargar 1095kB de archivos.
Se utilizarán 3437kB de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]? s

Definimos el domainanme

para eso, ponemos

debian:/var/yp# domainname qqmelo.com.ar

para ver que todo marcha bien, podremos hacer

debian:/var/yp# cat /etc/defaultdomain
qqmelo.com.ar


Una vez que llegamos aca, debemos setear el archivo /etc/default/nis

Cambiamos estas lineas

NISSERVER=false
por
NISSERVER=true

NISCLIENT=true
por
NISCLIENT=false

Y PONEMOS

NISMASTER=true

Ya esta!.
Ahora, probaremos con un usuario, para que este despues pueda entrar en cualquier cliente

generamos el usuario demo, con password demo

debian:/var/yp# useradd -m prueba
debian:/var/yp# passwd prueba
Enter new UNIX password:
Retype new UNIX password:
passwd: contraseña actualizada correctamente


Por alli, habia leido yo, que habia que hacer algo en el shadow, y en el passwd, pero la verdad, que a mi
me funciono de una.

Lo que realizamos ahora, es, generar los servicios, y las capas nis.

Para levantar los servicios, hacemos lo siguiente

Obviamente en el server, (debian)


/usr/sbin/ypserv start

/usr/sbin/rpc.yppasswd

/usr/sbin/rpc.ypxfrd

Y luego, creamos el mapa NIS

para esto tipeamos,

debian:/var/yp# /usr/lib/yp/ypinit -m

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

debian.nada.com.ar

Is this correct? [y/n: y] y
We need a few minutes to build the databases...
Building /var/yp/qqmelo.com.ar/ypservers...
Running /var/yp/Makefile...
make[1]: se ingresa al directorio `/var/yp/qqmelo.com.ar'
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]: se sale del directorio `/var/yp/qqmelo.com.ar'

Con esto, se actualiza la informacion de los dominios.

vamos nuevamente a generar otro usuario

debian:/var/yp# useradd pain
debian:/var/yp# passwd pain
Enter new UNIX password:
Retype new UNIX password:
passwd: contraseña actualizada correctamente


Ahora, veamos, nosotros nos encontramos bajo el directorio /var/yp

lo que vamos a hacer, es actualizar la informacion de este usuario, a las paginas amarillas,
para eso hacemos

debian:/var/yp# make
make[1]: se ingresa al directorio `/var/yp/qqmelo.com.ar'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating netid.byname...
Updating shadow.byname...
make[1]: se sale del directorio `/var/yp/qqmelo.com.ar'

Y este usuario ha sido agregado correctamente al dominio.

Ahora veremos si estan todos los servicios corriendo, para eso hacemos rpcinfo -p

debian:/var/yp# rpcinfo -p
programa vers proto puerto
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100004 2 udp 935 ypserv
100004 1 udp 935 ypserv
100004 2 tcp 938 ypserv
100004 1 tcp 938 ypserv
100009 1 udp 945 yppasswdd
600100069 1 udp 948 fypxfrd
600100069 1 tcp 950 fypxfrd


Y esta todo corriendo!

Configuracion de los clientes NIS!

para esto, lo que debemos hacer, es instalar en cada cliente NIS, el paquete nis, como ya lo habiamos configurado

Luego, corremos

domainname qqmelo.com.ar


Luego, en /etc/yp.conf, debemos poner

ypserver qqmelo.com.ar

Para que sepa a que dominio debera bindearse, esto buscara por broadcast el domino qqmelo.com.ar lo hara el demonio ypbind).

Por ultimo, hay que configurar el archivo /etc/nsswitch.conf, y agregar en cada campo al final la palabra nis
deberia quedar como este

marcelo:~# cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd: compat nis
group: compat nis
shadow: compat nis

hosts: files dns nis
networks: files nis

protocols: db files nis
services: db files nis
ethers: db files nis
rpc: db files nis

netgroup: nis

al final del archivo /etc/passwd se agrega la siguiente linea

+::::::

y finalmente, lanzamos el demonio

ypbind

1 comment:

mad said...

Marcelo, muy buena información. Vas a seguir publicando artículos?

Saludos