Unix Like, 操作系统, 服务器, 未分类

Debian与Ubuntu下配置LDAP登录身份验证

前几天在两个使用Ubuntu Server 12.04的 VPS上搭建了LDAP环境。

Ubuntu使用LDAP身份验证,仅需从更新源安装libpam-ldap nscd这两个DEB包,

然后根据引导一步步填入信息,再修改下pam的配置文件即可使用。

不过昨天在给两个个使用Debian的虚拟专用服务器使用同样的方法安装并配置LDAP身份验证客户端时,就一直弄不好,总是无法通过验证,从/var/log/auth.log文件可以读取到类似的信息:

谷歌了下有关的资料,但并未找到有效的解决方案。昨天尝尽各种方法折腾了好久……

今天早上起来用search从更新源看了下与ldap有关的DEB包,看到一个libnss-ldap,想起数天前弄pam_mysql时,也要安装一个libnss-mysql,于是尝试安装了这个包。

同样,根据引导一步步填入信息,然后修改pam的配置文件。

再次使用LDAP中已添加的账户登录,成功通过验证。

 

为何有如此差异?

先来看看Ubuntu下安装libpam-ldap nscd这两个包时输出的信息:

再看看Debian下安装libpam-ldap与nscd时输出的信息:

可见,Ubuntu自动安装了数个额外的DEB包,其中包括了libnss-ldap,而Debian是作为建议的DEB包出现,并没有自动安装。相信很多人都和我一样,除非出现错误信息,否则使用apt-get或yum安装东西肯定不会仔细看这些,自然也不会留意到有建议安装的包……

再来看看Debian下安装libnss-ldap时输出的信息:

这就充分说明,在Debian下配置LDAP验证,libnss-ldap这个包是最关键。

 

最后就是配置文件。

Debian下PAM的LDAP验证客户端的配置文件有两个,分别是pam-ldap和libnss-ldap的,他们在以下路径:

密码则在以下两个文件中:

Ubuntu应该是libnss-ldap与pam-ldap共用配置文件,其路径为:

密码文件在此: