Atualmente estou configurando o slapd como proxy e enfrentando o desafio de reescrever atributos LDAP. Estou ciente do recurso do módulo de reescrita (rwm) para DNs, mas preciso aplicar funcionalidade semelhante aos atributos LDAP.
Contexto : Nossos IDs de usuário são estruturados com um prefixo de uma ou duas letras não essenciais seguidas de 8 a 9 dígitos importantes. Meu objetivo é retirar essas letras e utilizar os dígitos restantes para atribuir IDs de usuário/grupo POSIX por meio de nslcd/sssd. Infelizmente, modificações no servidor LDAP original não são uma opção, pois os administradores não estão abertos a alterações.
Problema : Apesar de vários dias de pesquisas e testes, incluindo recursos de consultoria e uso do ChatGPT, só consegui reescrever os DNs. Estou procurando entender se é possível usar a funcionalidade de reescrita para atributos diferentes de DNs e, em caso afirmativo, como conseguir isso.
Tentativas :
Tentei usar o mapa de banco de dados e o ldap com a sobreposição de rwm para manipular atributos. Minhas configurações reescreveram apenas DNs com êxito, mas não outros atributos.
Exemplo da última tentativa:
...
moduleload back_ldap
moduleload back_meta
database meta
...
rebind-as-user true
rewriteEngine on
rewriteContext searchResult
rewriteRule "^(uid=[a-zA-Z]*)([0-9]*)(,.*)$" "$1$2$3,posixUID=$2" ":@"
Questões :
- É possível reescrever atributos LDAP usando o rwm no slapd?
- Se sim, como posso configurar isso para retirar caracteres específicos dos atributos de ID do usuário e reter os dígitos?
Qualquer orientação ou exemplos seriam muito apreciados. Obrigado!