Ubuntu Landscape-LDAP 身份验证

Ubuntu Landscape-LDAP 身份验证

我们想在 Landscape 服务器上实现 LDAP 身份验证。Landscape 文档说这是可行的,但我们没有找到任何解决方案。

答案1

LDAP 功能只能在 Landscape 服务器安装过程中启用,而不能在后续阶段启用。以下是如何使用当前最新的 Ubuntu LTS 16.04 和 Landscape 服务器版本 17.03 完成该操作的说明。

  1. 让我们开始安装 LDAP 可插入身份验证模块。

    sudo apt install libpam-ldap
    
  2. 我们需要/etc/ldap.conf根据您的需求/设置/要求进行相应的修改。

    vim /etc/ldap.conf
    

    并添加以下配置,更改所需的内容

    base OU=XX,DC=XX,DC=XX
    uri ldap://ip.of.ldap.server
    ldap_version 3
    # we need an authenticated user to search the directory 
    binddn CN=<your user>,OU=XX,DC=XX,DC=XX
    bindpw <above password>
    scope one
    pam_filter objectclass=person
    pam_login_attribute userPrincipalName
    pam_password ad
    ssl off
    
  3. 为了激活 pam 插件,请创建 /etc/pam.d/landscape 文件并包含以下行:

    vim /etc/pam.d/landscape
    

    并粘贴

    #%PAM-1.0
    auth    required pam_ldap.so
    account required pam_ldap.so
    
  4. 导航到 Landscape 安装的根 URL 并创建管理员。您会注意到将出现一个身份字段。这将pam_login_attribute与您的 中指定的相匹配ldap.conf

答案2

尽管我的 ldap/pam 设置很好,但我还是无法弄清楚为什么它不起作用,我一直收到此错误:

Nov 17 15:36:28 hostname python[31175]: pam_ldap: missing file "/etc/ldap.conf"                                                                                
Nov 17 15:36:28 hostname python[31175]: pam_ldap: missing file "/etc/ldap.conf"  

然后我意识到景观服务正在以“景观”用户身份运行,并且/etc/ldap.conf权限不允许景观访问它。

我像这样重置权限以允许组 RW 访问

root@hostname:/opt/canonical/landscape# chmod  0770  /etc/ldap
root@hostname:/opt/canonical/landscape# chgrp -R landscape  /etc/ldap
root@hostname:/opt/canonical/landscape# chmod  0660  /etc/ldap/ldap*

我现在可以使用 AD 凭证对景观进行身份验证。

另请注意,我为 ldap.conf 选择了这些值

pam_login_attribute sAMAccountName
pam_filter objectclass=User
pam_password ad

我有一个像这样的 ldap.conf 符号链接

lrwxrwxrwx 1 root root 19 Nov 17 12:37 /etc/ldap.conf -> /etc/ldap/ldap.conf

相关内容