是否有任何通用解决方案可以使用单个NSS库两次(或多次)?
就我而言,我有两台LDAP服务器,一台在计算机本身上,另一台在远程上。我需要使NSS与它们两者都可以工作(如果本地没有必需的条目,它将使用远程的)。
当前已解决,因此单个库(PADL / nss_ldap)被构建两次。在这两种情况下,在使用构建之前sed
将nss_ldap
源中的所有事件都更改为其他事件。对于每种情况,都会使用不同的文本(例如nss_ldap_1
和nss_ldap_2
)。构建结果将相应地重命名。这两个二进制文件都存储在目标系统上,并在中进行了引用/etc/nsswitch.conf
。
而且这两个库都使用不同的配置文件/etc/
(否则就没有任何意义!)。但是,只需configure
在构建之前运行的库脚本中更改参数即可轻松实现。
但这并不“感觉正确”。还有其他方法吗?
我可以想象的是,NSS库本身可以支持多种配置,因此可以作为两个“单个实例”使用。但是,如果您不是该库的作者,则很难实现。此外,它还要求随后为这两种配置调用该库,而一个人可能更希望在它们之间具有其他库。
另一种方法是编写一个简单的转发器,该转发器仅调用其他具有不同配置的库。但这再次要求其他库可以以某种方式重新配置(如果它仅使用/etc
转发器中的一些固定配置文件,则该库将与第一个版本一样工作)。而且它也只能工作一次-让一个库使用3次或更多次,转发器本身现在会返回相同的问题。
sss
怎么样?