当前位置: 首页>>技术教程>>正文


如何将 Ubuntu 配置为 LDAP 客户端?

,

问题描述

如何使用 PAM 模块将 Ubuntu 12.04 配置为 LDAP 客户端?

最佳回答

这篇文章的内容基于 this guide 。它应该在 12.04 中正常工作。

  1. 发出以下命令:

    \n

    sudo apt-get install ldap-utils libpam-ldap libnss-ldap nslcd\n

    \n

    注意:在安装上述软件包的过程中,会弹出一个对话框并询问一些 LDAP 配置。请务必为您的 LDAP 配置输入正确的值。

  2. 编辑 /etc/nsswitch.conf(通过 sudo)。将 “ldap” 附加到这些行:

    \n

    #Original file looks like this \npasswd: compat \ngroup : compat  \nshadow: compat \n\n#After appending "ldap" lines look like these\npasswd: compat ldap\ngroup : compat ldap  \nshadow: compat ldap \n
  3. 注释掉 rootbinddn 行,我不确定我们为什么需要这样做。

  4. 编辑 /etc/pam.d/login(通过 sudo)并粘贴:

    \n

    session required pam_mkhomedir.so skel=/etc/skel umask=0022 \n
  5. 编辑 /etc/pam.d/lightdm(通过 sudo)并粘贴:

    \n

    session required pam_mkhomedir.so skel=/etc/skel umask=0022 \n
  6. 发出此命令:

    \n

    sudo update-rc.d nslcd enable\n

重新启动后,您应该能够以 LDAP 用户身份登录。\n如果您不重新启动计算机,则必须重新启动 nscd:

/etc/init.d/nscd restart

可能的问题和解决方案:

  • 以 LDAP 用户身份登录需要很长时间(分钟):nss-lap 很可能在查找用户组时遇到问题。确保用户在本地识别的组中,或者用户在 LDAP 中定义的组中。如果组是在 LDAP 中定义的,请确保它是一个真正的 POSIX 组。

  • 始终检查 /var/log/auth.log 日志文件。如果您看到“无法联系 ldap 服务器”,请检查 LDAP 服务器是否可达并且端口是否打开。

  • 尝试按名称 ping LDAP 服务器

  • 尝试检查 LDAP 端口是否打开:\n\n

    • LDAP 可以侦听不同的端口,但通常可以在 389 和 636 上找到

    • 您可以使用 telnet 检查端口是否打开:

    • telnet 389telnet 636

    • 如果您在控制台上看到任何字符,则端口已打开并且 LDAP 服务器应该正在运行。

    • 如果您什么也看不到或收到错误消息,则可能是 LDAP 服务器没有运行,或者有什么东西(例如防火墙)阻止了连接。

次佳回答

要在登录时自动创建主目录,我必须输入以下行:

session required pam_mkhomedir.so skel=/etc/skel umask=0022

进入 /etc/pam.d/common-session 而不是 /etc/pam.d/login – 当我刚刚在后来我的主目录中没有创建它时。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13121.html,未经允许,请勿转载。