首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解PAM和NSS

了解PAM和NSS
EN

Server Fault用户
提问于 2013-09-12 13:27:13
回答 1查看 19.6K关注 0票数 27

在过去的几天里,我建立了一些带有LDAP身份验证的Linux系统,一切都很好,但是对于NSS和PAM,我仍然有一些不太了解的地方,也是经过了大量的研究之后。

引用:

NSS允许管理员指定将存储和搜索身份验证文件、主机名和其他信息的源列表。

PAM是一组库,为应用程序和底层操作系统提供可配置的身份验证平台。

我不明白PAM和NSS是如何一起工作和互动的。在这本书中,对体系结构进行了很好的解释:我将PAM配置为对LDAP帐户使用pam_ldap,对本地帐户使用pam_unix,然后配置nsswitch.conf从本地文件和LDAP获取信息。

如果我正确理解了LDAP,那么LDAP将被使用两次:首先由pam_ldap使用,然后由NSS使用,这本身就是从pam_unix调用的。是那么回事吗?LDAP真的使用了两次吗?但是为什么我需要同时配置NSS和PAM呢?我的解释是PAM执行的任务与NSS不同,其他程序也使用它。但是,就像我在此页中看到的那样,应该可以只使用NSS或PAM。

因此,我做了一些实验,首先尝试从nsswitch.conf中删除LDAP (并且身份验证停止工作,好像只有pam_ldap不足以完成这项工作)。然后,我在NSS中重新启用了LDAP,并将其从PAM配置中删除(这一次一切正常,好像pam_ldap是无用的,NSS足以对用户进行身份验证)。

有人能帮我澄清这件事吗?在此之前,非常感谢您。

更新

我刚试了点东西。我再次删除了所有pam配置字段中的所有pam_ldap条目,也从nsswitch.conf中删除了shadow: ldap。和现在一样,在所有的系统中,只有行:passwd: ldap filesgroup: ldap filesnsswitch.conf中。好吧..。使用LDAP用户的登录操作非常完美,这两行(加上/etc/ldap.conf)就足以配置LDAP auth了。

据我所知,PAM独立于NSS,但我的测试表明它不是。所以我问自己,是否有可能完全禁用NSS而只使用PAM?

EN

回答 1

Server Fault用户

发布于 2013-09-12 14:42:48

NSS是用来枚举有关服务/用户的信息(您属于哪个组,您的主目录在哪里等等)。帕姆决定如何处理这些信息。

如果要使用LDAP进行身份验证,则需要pam_ldap。如果您正在使用其他的东西(本地帐户、Kerberos等),那么您可能不会使用。

所以他们会做不同的事情。NSS获取信息,PAM决定谁被允许在获得信息后做什么。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/538383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档