Resumen
Guía rápida para la instalación del servicio NIS (Network Information Service) en un sistema Debian GNU/Linux en su versión inestable, también conocida como Sid.
Tabla de contenidos
Este documento muestra los pasos necesarios para instalar un sistema NIS en Debian GNU/Linux (Sid) de manera rápida. Por lo tanto, los pasos no se detallarán en profundidad.
La instalación de un sistema NIS puede realizarse de tres formas: modo cliente, modo servidor primario y modo servidor secundario. Aquí trataremos las tres opciones.
Para la generación de esta documentación se han utilizado dos documentos: nis.debian.howto.gz, que viene junto con el paquete de NIS para Debian GNU/Linux, las páginas del manual de NIS y The Linux NIS(YP)/NYS/NIS+ HOWTO
A continuación se muestran los pasos genéricos de una instalación de NIS. Estos pasos han de darse en todos los casos, ya sea para instalar un sistema cliente o uno servidor.
En primer lugar instalamos NIS, para ello ejecutamos:
# apt-get install nis |
En el proceso de instalación hemos de definir el nombre del dominio que utilizaremos en NIS. Si por cualquier motivo necesitamos cambiarlo, editamos el archivo /etc/defaultdomain.
Una vez se ha terminado de instalar el paquete, hemos de configurar una serie de archivos antes de tener nuestro sistema NIS funcionando. Algunos de estos archivos son: /etc/nsswitch.conf, /etc/passwd, /etc/group.
Para el correcto funcionamiento de NIS es necesario habilitar el servicio time. Para ello, y dependiendo de si utilizamos el superservidor inetd o xinetd añadiremos las siguientes líneas a los respectivos archivos de configuración.
Las siguientes dos líneas han de estar presentes en el archivo /etc/inetd.conf:
time stream tcp nowait root internal time dgram udp wait root internal |
Si nuestro sistema utiliza xinetd, tendremos que activar el servicio time editanto el archivo /etc/xinetd.d/time de forma que su contenido sea algo similar a:
# default: off # description: An RFC 868 time server. This protocol provides a # site-independent, machine readable date and time. The Time service sends back # to the originating source the time in seconds since midnight on January first # 1900. # This is the tcp version. service time { disable = no type = INTERNAL id = time-stream socket_type = stream protocol = tcp user = root wait = no } # This is the udp version. service time { disable = no type = INTERNAL id = time-dgram socket_type = dgram protocol = udp user = root wait = yes } |
Una vez está configurado el servicio correctamente, reiniciamos el superservidor correspondiente y reiniciamos el servicio portmap
Nota | ||
---|---|---|
En el caso de estar utilizando el superservidor inetd:
|
Nota | ||
---|---|---|
En el caso de utilizar el superservidor xinetd:
|
Hemos de asegurarnos que el archivo /etc/nsswitch.conf contenga las siguientes líneas:
passwd: compat group: compat shadow: compat netgroup: nis |
Para configurar un cliente NIS, seguiremos los siguientes pasos (suponiendo que ya se han realizado los pasos de la sección anterior):
ypbind es el demonio encargado de buscar los servidores para un determinado dominio y de mantener la información actualizada relativa a dicho dominio. Para configurar este demonio y por tanto la localización del servidor NIS, tenemos que editar el archivo /etc/yp.conf. Se puede especificar el nombre del servidor (siempre y cuando dicho nombre esté en el archivo /etc/hosts o sea resolvido mediante DNS) o su dirección IP. Para ver más formas de configuración del demonio ypbind consulte la página del manual del mismo.
Si nuestro servidor NIS es 192.168.0.4, el archivo de configuración quedaría:
# # yp.conf Configuration file for the ypbind process. You can define # NIS servers manually here if they can't be found by # broadcasting on the local net (which is the default). # # See the manual page of ypbind for the syntax of this file. # # IMPORTANT: For the "ypserver", use IP addresses, or make sure that # the host is in /etc/hosts. This file is only interpreted # once, and if DNS isn't reachable yet the ypserver cannot # be resolved and ypbind won't ever bind to the server. ypserver 192.168.0.4 |
Para permitir el acceso a todos los usuarios, añada la siguiente línea al final de /etc/passwd:
+:::::: |
Si quiere afinar el acceso, puede especificar aquellos usuarios a los que le permite (+) o no (-) el acceso. Así, si quisiese que sólo los usuarios juan, paulo y fran tengan permisos de acceso, pero el usuario roberto no lo tenga, añadimos las siguientes líneas al final de /etc/passwd:
+juan::::::: +paulo::::::: +fran::::::: -roberto +:*::::::/bin/false |
Nota | |
---|---|
La última línea: +:*::::::/bin/false indica que, por defecto, los usuarios no tendrán acceso a nuestra máquina. |
Aviso | |
---|---|
Si utiliza shadow passwords, ha de adaptar el archivo /etc/shadow a NIS. Para ello, sigua el ejemplo de /etc/passwd (adaptando las entradas al formato del archivo /etc/shadow). |
La configuración de acceso de los distintos grupos de nuestro sistema se hace mediante el archivo /etc/group. Para ello, si quiere permitir el acceso a todos los grupos de su sistema, añada la siguiente línea al final del archivo:
+::: |
Aviso | |
---|---|
Si su sistema hace uso de GSHADOW, ha de adaptar el archivo /etc/gshadow a NIS, para ello sigua el ejemplo del archivo /etc/group. |
A continuación configuraremos un servidor principal para NIS:
Ha de asegurarse de que en el archivo /etc/hosts de cada servidor hay una entrada para cada uno de los restantes servidores que conforman la red NIS. Esto es necesario porque NIS no hace uso del servicio DNS.
Un ejemplo del archivo /etc/hosts podría ser:
127.0.0.1 localhost 192.168.0.1 host1.dominionis host1 192.168.0.2 host2.dominionis host2 192.168.0.3 host3.dominionis host3 |
Edite el archivo /etc/default/nis y establezca la variable NISSERVER a master:
NISSERVER=master |
Si quiere añadir algo de seguridad a su servidor NIS, ha de adaptar los archivos /etc/ypserv.securenets y /etc/ypserv.conf a sus necesidades. Esto se sale de los objetivos de este documento, por lo que sería conveniente que revisase la documentación de NIS para realizar esta tarea.
Ahora ya podemos arrancar nuestro servidor NIS, para ello tecleamos:
# /etc/init.d/nis stop # /etc/init.d/nis start |
El servidor se configura ejecutando: “/usr/lib/yp/ypinit -m”, de todas formas, antes de ejecutarlo ha de configurar algunos detalles:
Cree, si no existe, el archivo /etc/networks, para ello puede ejecutar el siguiente comando:
# touch /etc/networks |
Para restringir el acceso al servidor NIS, puede modificar el archivo /etc/passwd como vimos en la configuración del cliente. De esta forma, los únicos usuarios que tendrán acceso (si así se configura) son aquellos que están por debajo de la primera entrada NIS del archivo /etc/passwd.
Un ejemplo podría ser el siguiente, donde el usuario juan tiene acceso al sistema, pero el usuario prueba no:
root:x:0:0:root:/root:/bin/bash daemon:*:1:1:daemon:/usr/sbin: bin:*:2:2:bin:/bin: sys:*:3:3:sys:/dev: sync:*:4:100:sync:/bin:/bin/sync games:*:5:100:games:/usr/games: man:*:6:100:man:/var/catman: lp:*:7:7:lp:/var/spool/lpd: mail:*:8:8:mail:/var/spool/mail: news:*:9:9:news:/var/spool/news: uucp:*:10:50:uucp:/var/spool/uucp: nobody:*:65534:65534:noone at all,,,,:/dev/null: +juan:::::: +:*:::::/bin/false [ Todos los usuarios después de esta línea ] prueba:*:299:10:Una cuenta de pruebas:/tmp: juan:1234567890123:101:10:Juan Roca:/home/juan:/bin/bash |
Nota | |
---|---|
Puede cambiar la localización del archivo /etc/passwd editando /etc/default/nis y modificando la variable YPPWDDIR de forma que se adapte a sus necesidades. |
Aviso | |
---|---|
Tenga en cuenta que el usuario root puede variar la información de los usuarios del sistema (clave, shell y la información finger). Si esta información se modifica manualmente, ha de actualizar la información de los mapas de NIS, para ello se ejecuta un make en el directorio /var/yp. Esto se puede hacer automáticamente gracias a cron. |
Los pasos para la instalación de un servidor NIS son:
Configurar el sistema como si se tratase de un cliente NIS.
Edite el archivo /etc/default/nis y establezca la variable NISSERVER a slave:
NISSERVER=slave |
Indique a su servidor principal que posee servidores secundarios. Para ello edite el archivo /var/yp/Makefile y establezca el valor de la variable NOPUSH a false:
NOPUSH="false" |
Una vez realizado esto, ejecute el siguiente comando y añada los servidores secundarios que posea:
# /usr/lib/yp/ypinit -m |
Arranque el servidor secundario e inicialicelo, para ello ejecute:
# /etc/init.d/nis stop # /etc/init.d/nis start # /usr/lib/yp/ypinit -s <coloque_el_nombre_de_su_servidor_principal_aqui> |
Nota | ||
---|---|---|
Puede colocar las siguientes líneas en la entrada nis del cron de sus servidores secundarios:
|
Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation. Puedes consultar una copia de la licencia en http://www.gnu.org/copyleft/fdl.html