Estoy intentando configurar un par de estaciones de trabajo Linux (RedHat 7) y estoy tratando de descubrir cómo configurar la autenticación en un servidor LDAP con algunos requisitos inusuales.
Básicamente, sé cómo configurar la autenticación LDAP usando sssd, pero no sé cómo restringir la autenticación solo a ciertos usuarios para cumplir con mis requisitos.
Para habilitar la configuración LDAP, usaría esta línea de comando:
authconfig --enableldap --enableldapauth --ldapserver="<redacted>" --ldapbasedn="<redacted>" --update --enablemkhomedir
Esto permitirá que todos los usuarios de LDAP inicien sesión y, hasta donde yo sé, funciona bien. Sin embargo, mi requisito es que sólo algunos usuarios de LDAP puedan iniciar sesión, y la lista de usuarios se proporcionará en un archivo de texto separado (por nombre de inicio de sesión del usuario).
Más información: Tenemos un servidor LDAP (Active Directory, en realidad) con un par de miles de usuarios. Sólo a unos 20 de ellos que necesitan trabajar en estas estaciones de trabajo se les debe permitir iniciar sesión en estas estaciones de trabajo. Desafortunadamente, LDAP no incluye ninguna información relacionada con esto y no tengo control del servidor LDAP. En cambio, cada dos semanas, recibo un archivo de texto con una lista de los nombres de usuarios a quienes se les debería permitir iniciar sesión.
¿Cómo puedo configurar la autenticación para usar LDAP para el nombre de usuario/contraseña/ID de usuario, etc. y al mismo tiempo restringirla solo a los usuarios de esta lista?
Respuesta1
Encontré dos formas de lograr lo que necesitaba. El primero fue el descrito por thrig. Tuve que agregar cada nombre de usuario individualmente a /etc/security/access.conf.
La segunda opción es especificar una cadena de consulta LDAP en sssd.conf:
ldap_access_filter = (|(userid=usuario1)(userid=usuario2).....)
La segunda solución es muy tediosa de construir, pero termina teniendo importantes beneficios de rendimiento en entornos LDAP grandes porque sssd solo recuperará unos pocos registros LDAP.
Respuesta2
Coloque a esos usuarios en un grupo, luego use una pam_access
regla /etc/security/access.conf
para permitir inicios de sesión solo si el usuario está en ese grupo (y también para root
, cualquier administrador de sistemas y monitoreo, si es necesario), por ejemplo.
+ : root wheel nagios : ALL
+ : yourusergrouphere : ALL
- : ALL : ALL