NSS (Name Service Switch) es el componente de nuestro sistema Linux encargado de listar todos los usuarios, grupos, hosts, etc de nuestro sistema. Cómo consultar esta información se configura en el fichero /etc/nsswitch.conf y en él, normalmente encontramos las líneas:
passwd: filesEstas líneas configuran que busque los grupos (groups), cuentas de usuario (passwd) y contraseñas del sistema (shadow) en ficheros, los
group: files
shadow: files
archi conocidos/etc/group, /etc/passwd y /etc/shadow. Cuando queremos configurar que nuestro sistema Linux busque las cuentas de usuario en un directorio LDAP, instalaremos las librerías ldapnss, y configuraremos apropiadamente los ficheros /etc/ldap.conf y /etc/nsswitch.conf.
En RHEL6 esta configuración ha cambiado con respecto a como la conocíamos en los sistemas RedHat hasta ahora. En esta versión, se usa un demonio independiente llamado nslcd. La configuración de este servicio se almacena en /etc/nslcd.conf y sustituye al antiguo /etc/ldap.conf. La configuración del servicio está documentada en las notas de RedHat: La mayor ventaja que podemos obtener de ello, es que si se para este servicio, el sistema no tratará de buscar usuarios en LDAP, y esto es una ventaja ante situaciones de parada o error, ya que el sistema no tiene que esperar a que expiren los timeouts de conexión al directorio, ni tener que editar el fichero /etc/nsswitch.conf para salvar este comportamiento.
Para configurar la búsqueda de usuarios y grupos en LDAP en nuestro sistema RHEL6 editaremos el fichero /etc/nslcd.conf y aplicaremos los siguientes cambios:
- Configurar la URI del servidor LDAP al que se conectará:
uri ldap://LDAPSERVER.tecnoquia.com/
- Configurar la versión del protocolo que usaremos,
ldap_version 3
- Configurar las credenciales del usuario LDAP que se usará para conectar al directorio, en las búsquedas de usuarios y grupos
binddn cn=nss,o=tecnoquia,c=es
bindpw super-secreto - Definir que las búsquedas sean en profundidad
scope sub
- Especificar que siempre deben recorrerse los alias
deref always
- Indicar las ramas y filtros para localizar las cuentas de usuario y grupo en el directorio,
base group ou=grupos,o=tecnoquia,c=es
base passwd o=tecnoquia,c=es
filter passwd (objectClass=posixAccount)
scope passwd sub
scope group sub - Establecer los parámetros de timeout para la conexión/desconexión del servicio de directorio,
bind_timelimit 2
timelimit 4
idle_timelimit 10
reconnect_retrytime 2 - Indicar que no se usará SSL para conectar al directorio,
ssl no
tls_cacertdir /etc/openldap/cacerts - y que NSS no busque los usuarios locales (que hay en /etc/passwd)
nss_initgroups_ignoreusers ALLLOCAL
Luego editar el fichero /etc/nsswitch.conf para cambiar la configuración de donde debemos buscar los usuarios y grupos:
passwd: files [NOTFOUND=continue] ldapPara aplicar estos cambios, tendremos que iniciar el demonio nslcd:
shadow: files
group: files [NOTFOUND=continue] ldap
/etc/init.d/nslcd start...y luego sí podremos ejecutar los comandos:
getent passwd
, que nos mostrará un listado de todos los usuarios y máquinas locales y en LDAPgetent group
, nos mostrará un listado de las cuentas de grupo locales y en el directorio,id <LOGIN>
nos mostrará información del usuario, que puede estar almacenada en LDAP
1 comentario:
¡Gracias! Es de mucha utilidad.
Publicar un comentario