sssd/nscd 的功能依赖哪些因素?

sssd/nscd 的功能依赖哪些因素?
  • 要作为 LDAP 客户端运行,sssd 需要哪些依赖关系?
  • 要作为 LDAP 客户端运行,nscd 需要哪些依赖项?
  • sssd 是否需要 openldap 才能作为 LDAP 客户端运行?nscd 是否需要?

答案1

要作为 LDAP 客户端运行,sssd 需要哪些依赖关系?

包裹:

[root@giomacdesk ~]# rpm -q --requires sssd-ldap
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libcom_err.so.2()(64bit)
libdhash.so.1()(64bit)
libk5crypto.so.3()(64bit)
libkrb5.so.3()(64bit)
libkrb5.so.3(krb5_3_MIT)(64bit)
liblber-2.4.so.2()(64bit)
libldap-2.4.so.2()(64bit)
libsss_idmap.so.0()(64bit)
libsss_ldap_common.so()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
sssd-common = 1.11.0-0.1.beta2.fc19
sssd-krb5-common = 1.11.0-0.1.beta2.fc19
rpmlib(PayloadIsXz) <= 5.2-1

作为二进制:

[root@giomacdesk ~]# ldd /usr/lib64/sssd/libsss_ldap.so
        linux-vdso.so.1 =>  (0x00007fff075fe000)
        liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007f34b644f000)
        libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f34b61fd000)
        libdhash.so.1 => /lib64/libdhash.so.1 (0x00007f34b5ff9000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f34b5d1b000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f34b5ae5000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f34b58e1000)
        libsss_ldap_common.so => /usr/lib64/sssd/libsss_ldap_common.so (0x00007f34b5615000)
        libsss_idmap.so.0 => /lib64/libsss_idmap.so.0 (0x00007f34b540e000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f34b504d000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f34b4e33000)
        libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f34b4c15000)
        libssl3.so => /lib64/libssl3.so (0x00007f34b49d8000)
        libsmime3.so => /lib64/libsmime3.so (0x00007f34b47ab000)
        libnss3.so => /lib64/libnss3.so (0x00007f34b446d000)
        libnssutil3.so => /lib64/libnssutil3.so (0x00007f34b4241000)
        libplds4.so => /lib64/libplds4.so (0x00007f34b403d000)
        libplc4.so => /lib64/libplc4.so (0x00007f34b3e37000)
        libnspr4.so => /lib64/libnspr4.so (0x00007f34b3bfa000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f34b39de000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f34b37d9000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f34b35cb000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f34b33c7000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003da0400000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f34b318f000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f34b2f79000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f34b2d70000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f34b2b4d000)
        libfreebl3.so => /lib64/libfreebl3.so (0x00007f34b28e1000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f34b267c000)

因此,它需要 openldap 才能运行:

[root@giomacdesk ~]# rpm -q --whatprovides /lib64/libldap-2.4.so.2
openldap-2.4.35-5.fc19.x86_64

要作为 LDAP 客户端运行,nscd 需要哪些依赖项?

作为二进制文件,nscd 是 glibc 的一部分,并且只需要小型子系统组件,它根本不是客户端,不适用于 ldap,也不适用于 dns。

[root@giomacdesk ~]# ldd /usr/sbin/nscd
        linux-vdso.so.1 =>  (0x00007fff06bbb000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f56619da000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f56617c1000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f566159d000)
        libaudit.so.1 => /lib64/libaudit.so.1 (0x00007f5661377000)
        libcap.so.2 => /lib64/libcap.so.2 (0x00007f5661172000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f5660db0000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003da0400000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f5660bac000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f5660948000)
        libattr.so.1 => /lib64/libattr.so.1 (0x00007f5660742000)

sssd 是否需要 openldap 才能作为 LDAP 客户端运行?nscd 是否需要?

作为应用程序,nscd 是缓存守护进程并保存 nss 的缓存,它不需要 openldap,但您需要一些 ldap 源用于 nss 数据(/etc/nsswitch.conf),这可以是sssdldap。sssd 也将需要 openldap 作为二进制文件。

相关内容