Esto es más una solución a lo que estoy tratando de lograr que una respuesta a la pregunta que hice. Si alguien tiene una respuesta más directa a la pregunta formulada, contribúyala.
Gracias a la buena gente de CERN y Ubuntu por ayudarme a encontrar el camino correcto:
enlace
enlace
Aparentemente, el paquete nss-pam-ldap para usar LDAP en el NSSwitch para proporcionar / etc / passwd permite hacer un poco de filtrado o anulación de valores (aunque no lo he probado todavía). Esto podría ser útil si normalmente los homedirs de sus usuarios LDAP están en NFS, pero en un host específico, desea que tengan homedirs locales.
nslcd.conf
# Set the user homedirectory to /home/$USER
map passwd homeDirectory "/home/$homeDirectory"
O asigne a nologin para mantener los permisos de archivo correctos en un servidor NFS (sin permitir que los usuarios de LDAP tengan un shell)
# Set the login shell to /sbin/nologin
map passwd loginShell "/sbin/nologin"
Algunos filtros básicos
# Only get users from group 1160
filter passwd (&(objectClass=user)(uidNumber=*)(unixHomeDirectory=*)(gidNumber=1160))
Se pueden hacer más cosas con la propia configuración de ldap (/etc/ldap.conf o /etc/openldap/ldap.conf), por ejemplo, agregando un atributo de usuario: host a los usuarios de LDAP, donde tiene un atributo de host (con nombre de host) para cada host al que pueda acceder el usuario, y líneas como esta:
nss_base_passwd ou=Users,dc=example,dc=com?one?|(host=thehostname)(host=\*)
Para obtener más información, simplemente siga los enlaces que publiqué en la parte superior, y si tengo algo de tiempo para hacer que todo esto funcione de una manera que aprecio, intentaré aclarar esta respuesta un poco.
EDITAR: el sitio web principal del paquete nss-pam-ldap está aquí:
arthurdejong.org/nss-pam-ldapd/
tiene alguna documentación para el archivo nsldc.conf