nscd和sssd的区别

Dan*_*an 9 linux rhel

对 Linux 名称服务缓存守护程序 (NSCD) 和系统安全服务守护程序 ( SSSD )之间的区别感到非常困惑。据我了解,两者都用于在本地机器上缓存身份验证查找信息,但似乎两者都可以在同一台机器上使用。

两者之间有什么区别,在哪些情况下我应该同时使用两者?

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/usingnscd-sssd.html

Tho*_*mas 14

nscd是一个守护进程,为最常见的名称服务请求(如passwdgrouphostsservicenetgroup )提供缓存。

sssd主要提供守护进程来管理对远程目录和身份验证机制(如 LDAP、Kerberos、NIS 等)的访问......所以它更多地是关于身份验证和授权。它确实有自己的缓存机制,例如用于用户和组,但还有更多。有关sssd.conf更多详细信息,请参阅 的联机帮助页。

作为链接的文章解释,sssdnscd不应在同一时间使用,因为它会导致意想不到的查找。如果你需要nscd例如缓存hosts条目,它sssd不缓存,建议nscd只配置hosts并依赖usergroup等缓存 on sssd

我认为您需要运行这两个服务的情况非常罕见,因为主机缓存是唯一sssd不缓存的条目。

  • 值得注意的是,Fedora 34 将[弃用 nscd,优先使用 systemd-resolved + sssd](https://pagure.io/fesco/issue/2501),并在 35 版本中删除。TL;DR 变更提案的推理是:nscd 承担了技术债务并且没有积极维护。 (2认同)