Subsecciones
Servicio de Información de Red NIS
Desarrollado por Sun Microsystem en los años 80
- Nombre original Yellow Pages (modificado por razones legales)
- Muy popular como sistema de administración de dominios en UNIX
- A principios de los años 90, versión NIS+ para Solaris 2.x
- muy diferente de NIS
- incorpora soporte para encriptación y autentificación de datos
- complejo y poco soportado
- Para más información:
Base de datos distribuida
- Un servidor (master) mantiene los ficheros de configuración de los sistemas (/etc/passwd, /etc/group, etc.)
- cada archivo de configuración se convierte en una o más tablas (mapas NIS) de una base de datos
- esos mapas se guardan en un formato binario llamado DBM (DataBase Management)
- el servidor NIS maestro debería tener ambas, las tablas ASCII y las DBM
- en una red debe haber al menos una máquina actuando como un servidor NIS maestro
- Los clientes hablan directamente con el servidor NIS para leer la información almacenada en sus bases de datos DBM
- Pueden existir servidores NIS esclavos:
- tienen copias de las bases de datos NIS
- reciben estas copias del servidor NIS maestro cada vez que se realizan cambios a las bases de datos maestras
- Un servidor maestro y sus servidores esclavos y clientes constituyen un dominio NIS
- una red puede tener múltiples servidores NIS, cada uno sirviendo a un dominio NIS diferente
Esquema de un dominio NIS
NIS incluye un conjunto amplio de comandos y demonios, algunos de los cuales son:
- ypserv demonio de servidor
- ypbind demonio de cliente
- domainname establece el nombre del dominio
- ypinit configura un servidor como maestro o esclavo
- ypxfr descarga un mapa desde servidor maestro (en los esclavos)
- yppush ejecutado en el maestro, hace que los esclavos actualicen sus mapas
- ypwhich muestra el sombre del servidor NIS
- ypcat muestra las entradas de un mapa
- yppasswd cambia la contraseña en la base de datos de NIS
- ypchfn cambia el campo GECOS en la base de datos de NIS
- ypchsh cambia el login shell en la base de datos de NIS
El proceso de puesta en marcha de NIS depende de la distribución
- veremos como instalar un servidor maestro y un cliente en Debian
- Instalar el paquete nis
- Indicar un nombre de dominio NIS (que no tiene que corresponder con el dominio de RED)
- El nombre de dominio puede cambiarse con domainname
- La configuración puede tardar, ya que intenta iniciarse como cliente NIS y se queda buscando un servidor
- Cambiar el fichero /etc/default/nis
- debemos poner NISSERVER=master
- En el fichero /etc/ypserv.securenets añadir el número de la red local, para permitir acceso exclusivo a los sistemas de esa red
255.255.255.0 192.168.0.0
- Ejecutar /usr/sbin/ypserv para iniciar el servidor
- Editar (si es necesario) el fichero /var/yp/Makefile
- permite configurar características generales así como las tablas a partir de las cuales se crean los mapas NIS
- haciendo make en ese directorio se crean los mapas que se guardan en /var/yp/dominio
- cada vez que se modifique alguna tabla (p.e. añadiendo un nuevo usuario), debemos hacer make para actualizar los mapas NIS
- Ejecutar /usr/lib/yp/ypinit -m para que el sistema se configure como servidor maestro
- no añadir ningún servidor NIS más (Ctrl-D)
- Podemos comprobar que funciona bien haciendo un ypcat de alguno de los mapas (p.e. ypcat passwd)
- Por último, el servidor debe configurarse también como cliente
- seguir los pasos de la siguiente sección
- Eliminar de los ficheros locales los usuarios, grupos y otra información que queramos que sea accesible por NIS (sólo en los clientes)
- Instalar el paquete nis e indicar el nombre del dominio NIS
- Si se desea, cambiar /etc/yp.conf para especificar el servidor NIS concreto
- por defecto, busca el servidor mediante un broadcast
- Modificar el archivo /etc/nsswitch.conf para que busque passwd, group y shadow por NIS:
passwd: files nis
group: files nis
shadow: files nis
NIS introduce el concepto de netgroups
- grupos de usuarios, máquinas y redes que pueden ser referenciadas como un conjunto
- se definen en el fichero /etc/netgroup, en principio, sólo en el servidor NIS maestro
Formato de una entrada en netgroup
netgroup_name (host, user, NIS_domain), ...
- host nombre de una máquina en el grupo
- user nombre de login de un usuario de la máquina host
- NIS_domain dominio NIS nombre del dominio NIS
Pueden dejarse entradas en blanco o con un guión:
- Una entrada en blanco implica cualquier valor, p.e.
- (doc19, , ) indica todos los usuarios del host doc19
- Una entrada con un guión (-) implica campo sin valor, p.e.
- (-, pepe, ) indica el usuario pepe y nada más
Ejemplo de un fichero /etc/netgroup
sysadmins (-,pepe,) (-,heidis,) (-,jnguyen,) (-,mpham,)
servers (numark,-,) (vestax,-,)
clients (denon,-,) (technics,-,) (mtx,-,)
research (-,boson,) (-,jyom,) (-,weals,) (-,jaffe,)
allusers sysadmins research
allhosts servers clients
Estos netgroups pueden usarse en varios ficheros del sistema para definir permisos:
- con NIS en modo compat, p.e. añadiendo +@sysadminds en /etc/passwd daríamos permiso de acceso a los usuarios definidos como sysadmins
- en el fichero /etc/exports, para indicar grupos de máquinas a las que exportar un directorio por NFS
/home allhosts(rw,root_squash,sync)
- en los ficheros /etc/hosts.allow y /etc/hosts.deny de los TCP Wrappers
- etc.
Administración de Sistemas e Redes <ASR.USC[at]gmail.com>
Tomás Fernández Pena <tf.pena[at]usc.es>
Última actualización: 24-11-15 17:44 por tomas
Curso de Administración de Sistemas y Redes por Tomás Fernández Pena se distribuye bajo la licencia Creative Commons Recoñecemento-Compartir baixo a mesma licenza. 3.0 España.
Trabajo original en persoal.citius.usc.es/tf.pena/ASR.