Existe-t-il une solution générique pour utiliser une seule bibliothèque NSS deux fois (ou plus)?
Dans mon cas, j'ai deux serveurs LDAP, un local sur la machine elle-même et un distant. J'ai besoin de faire fonctionner NSS avec les deux (il utilise celui distant si local n'a pas les entrées requises).
Actuellement, il a été résolu afin que la bibliothèque unique ( PADL / nss_ldap ) soit construite deux fois. Dans les deux cas, avant que la construction sed
soit utilisée pour changer toutes les nss_ldap
occurrences des sources en autre chose. Pour chaque cas, un texte différent est utilisé (comme nss_ldap_1
et nss_ldap_2
). Le résultat de la construction est renommé en conséquence. Les deux fichiers binaires sont stockés sur le système cible et mentionnés dans /etc/nsswitch.conf
.
Ces deux bibliothèques utilisent également des fichiers de configuration différents dans /etc/
(sinon cela n'aurait aucun sens!). Cependant, cela se fait facilement en changeant simplement l'argument dans le configure
script de la bibliothèque exécutée avant la construction.
Mais cela ne "se sent pas bien". Y a-t-il une autre approche?
Ce que je pourrais imaginer, c'est que la bibliothèque NSS elle-même pourrait prendre en charge plusieurs configurations afin qu'elle fonctionne comme deux "instances uniques". Mais cela est difficile à réaliser si vous n'êtes pas l'auteur de la bibliothèque. De plus, cela nécessite un appel ultérieur de la bibliothèque pour les deux configurations, alors que l'on pourrait préférer avoir une autre bibliothèque entre les deux.
Une autre approche serait d'écrire un simple redirecteur qui appelle simplement une autre bibliothèque avec une configuration différente. Mais cela nécessite à nouveau que d'autres bibliothèques soient en quelque sorte reconfigurables (si elles n'utilisent que des fichiers de configuration fixes dans /etc
le redirecteur, cela fonctionnera comme la première version). Et cela ne fonctionne qu'une seule fois - pour qu'une bibliothèque soit utilisée trois fois ou plus, le même problème revient maintenant avec le transitaire lui-même.
sss
?