HOWTO Setup NIS
De Gentoo Linux Wiki
| Kernel & Hardware • Red y Servicios • Portage • Relacionado con el Sistema • Servidor X • Juegos • Misceláneos |
Este HOWTO detalla la preparación del servidor NIS en Gentoo como el funcionamiento en máquinas cliente.
Tabla de contenidos |
[editar] Común (Clientes y Servidores)
[editar] Dominio NIS
¡El dominio de NIS debe ser alguna cadena normalmente "no" asociada con el nombre del DNS-dominio de su máquina! La razón de ello es que hace más difícil, a las intrusiones externas, recuperar la base de datos de la contraseña de su servidor NIS. Si no sabe cual es el nombre de dominio NIS en su red, pregúnteleseñp a su administrador del red. (o sólo ingrese en el servidor del nis y teclee tuDominioNis)
Edita
/etc/conf.d/net y añade:
| Código: /etc/conf.d/net |
nis_domain_eth0="tuDominioNis" # server IPs nis_servers_eth0="serverIP1 serverIP2" |
o añade:
| Código: /etc/conf.d/net |
nis_domain_lo="tuDominioNis" |
| Nota: El actual baselayout quitó la configuración NISDOMAIN de /etc/conf.d/domainname, y borra también el script /etc/init.d/domainname. |
Si por alguna razón no quieres utilizar los net-scripts para establecer tu dominio NIS puedes utilizar hostname -y tuDominioNis para establecerlo. Una buena razón de ello puede ser que tengas un /etc/yp.conf estático.
[editar] Cliente
[editar] Instalando las herramientas
emerge yp-tools ypbind
Asegúrate que tienes el pam compilado con +nis flags.
[editar] Preparando el Cliente NIS
Tienes un archivo de configuración llamada /etc/yp.conf. Puedes especificar allí el servidor NIS - para más info mira la página man para el ypbind(8). También necesitas este archivo para NYS. Un ejemplo:
| Archivo: yp.conf |
ypserver 10.10.0.1 ypserver 10.0.100.8 ypserver 10.3.1.1 |
Si el sistema puede resolver el nombre de dominio sin NIS, puedes utilizar el nombre, si no, tendrás que utilizar la dirección IP. ypbind 3.3 tiene un bug y usará sólo la última entrada (ypserver 10.3.1.1 en el ejemplo). Todas las otras entradas se ignoran. ypbind-mt utiliza esto correctamente y usa el que responda primero.
| Nota: No necesitas editar /etc/yp.conf si tienes las entradas nis_* en /etc/conf.d/net |
[editar] Iniciando los servicios
Levantando portmap y ypbind
portmap ypbind
[editar] ¿Registrados?
Utiliza el commando rpcinfo -p localhost para verificar si ypbind ha podido registrar su servicio con el portmapper. La salida suele ser como la siguiente:
| Código: rpcinfo -p localhost |
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100007 2 udp 637 ypbind
100007 2 tcp 639 ypbind
o program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100007 2 udp 758 ypbind
100007 1 udp 758 ypbind
100007 2 tcp 761 ypbind
100007 1 tcp 761 ypbind
|
Dependiendo de la versión de ypbind que estés utilizando.
- También puedes ejecutar
rpcinfo -u localhost ypbind. Este comando suele producir una salida similar a esta:
| Código: rpcinfo -u localhost ypbind |
program 100007 version 2 ready and waiting o program 100007 version 1 ready and waiting
program 100007 version 2 ready and waiting
|
La salida depende de la versión de ypbind que se tiene instalada. Sólo es importante el mensaje "version 2".
A estas alturas debes poder utilizar las aplicaciones cliente NIS como el ypcat, etc... por ejemplo, ypcat passwd.byname te dará las contraseñas de la base datos NIS entera.
Para verificar si el domainname está fijado correctamente, utiliza /bin/ypdomainname de las yp-tools 2.2. Utilitza la función yp_get_default_domain() que es más restrictiva. No permite por ejemplo el domainname "(none)", que es el valor predeterminado bajo Linux y trae muchos problemas.
Si la prueba funcionse puede cambiar tus archivos de inicio "startupd files" para que así ypbind se inicie al inicio y tu sistema actue como un cliente NIS. Asegurate que los domainname se declaren antes de que se inicie el ypbind.
[editar] Puesta en marcha
Una vez conseguido que el sistema hable con el servidor NIS, querrar que se inicie desde el arranque. Así que necesitará entrar las siguientes ordenes:
rc-update add portmap default rc-update add ypbind default
[editar] Preparando un Cliente NIS utilizando el NIS Tradicional
Añade ls siguiente línea a /etc/passwd y /etc/group en tu cliente NIS:
+::::::
También puedes utilizar los caracteres + y - para incluir/excluir o cambiar usuarios. Si quieres excluir al usuario invitado sólo añade -guest al archivo /etc/passwd. ¿Se puede utilizar una shell diferente (p.e. ksh) para el usuario "linux"? Sin problema, sólo añade "+linux::::::/bin/ksh" (sin las comillas) a tu /etc/passwd. Los campos que no quieras cambiar los dejas vacios. También podrías utilizar Grupos de red para el control de usuarios.
Por ejemplo, para permitir sólo el acceso (login) a los usuarios miquels, dth y ed, y a todos los miembros del grupo de red sysadmin, pero para tener la cuante del resto de usuarios disponible utilize:
+miquels::::::: +ed::::::: +dth::::::: +@sysadmins::::::: -ftp +:*::::::/etc/NoShell
Fijate que en Linux también puedes olvidarte del campo de la contraseña, cuando se escribió este ejemplo. También quitamos el "ftp" del login, por lo que ya no es conocido, y los ftp anónimos no tabajarán.
- configure yp.conf con tu dirección ip delnisdomainserver
Para completar la instalación, tienes que modificar tu
/etc/nsswitch.conf para agregar nis como apoyo para la autentificación.
Cambia:
<pre>
passwd: compat
shadow: compat
group: compat
netgroup: files
</pre> code>
por:
<pre>
passwd: compat nis
shadow: compat nis
group: compat nis
netgroup: files nis
</pre> code>
[editar] Algunos comentarios
Te puedes encontrar que no apaga correctamente el equipo utilizando NIS con udev. También puedes tener un problema con el inicio (iniciar portmap le cuesta mucho mucho tiempo). La solución proviene del bug #42139. Tienes que impedirle a net.lo que se detenga, p.e. agregando la línea "return 0" en /etc/init.d/net.lo justo en el inicio de la función iface_stop().
<pre>
iface_stop() {
return 0
...
</pre> code>
[editar] Servidor
Estas instrucciones són para preparar el YP master.
[editar] Instalando las herramientas
emerge yp-tools ypserv
[editar] Preparando los mapas
[editar] Master
Entra en el directorio /var/yp, y edite Makefile. Localiza la regla "all:", y comentalo todo menos los mapas que necesites. Si estás autentificando a los usuarios, entonces todo los que necesitas es
all: passwd group shadow
Si no quieres generar la información YP en los propios archivos del servidor en /etc, cambia YPSRCDIR y YPPWDDIR a un directorio en el que quieras almacenar dichos archivos, p. e. /var/yp/ypfiles. Copia los archivos pertinentes en ese directorio. Si tu sistema no poses un archivo gshadow, necesitará crear uno en blanco:
touch /etc/gshadow
Ejecutar ypinit
/usr/lib/yp/ypinit -m
Iniciar el servidor YP y añadirlo al runlevel por defecto:
/etc/init.d/ypserv start rc-update add ypserv default
Ahora puede editar y revisar los archivos (en /etc o en el directorio en el que los hayas situado), luego ejecuta make desde el directorio /var/yp para ponerlos al día.
Si estableciste YPSRCDIR y YPPWDDIR anteriormente, entonces edita /etc/conf.d/rpc.yppasswd para incluir la opción -D.
[editar] Esclavo
Ejecuta /usr/lib/yp/ypinit -s master donde master es el hostname donde se encuentra (ya configurado) YP master.
