AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 834523
Accepted
Tolsadus
Tolsadus
Asked: 2017-02-24 08:55:10 +0800 CST2017-02-24 08:55:10 +0800 CST 2017-02-24 08:55:10 +0800 CST

在支持的SASLMechanisms中将GSSAPI添加到OpenLdap

  • 772

我正在寻找如何将 GSSAPI 支持添加到我的 OpenLDAP 中?

当前设置

MIT Kerberos V + OpenLDAP
Kerberos bind to openldap
Able to issue kerberos tickets to my users (with kinit exampluser)
Able to ldapsearch -x uid=exampluser

Openldap端

server% ldapsearch -x -H ldapi:/// -b "" -LLL -s base -Z supportedSASLMechanisms

    ldap_start_tls: Protocol error (2)
    additional info: unsupported extended operation
dn:
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: EXTERNAL
supportedSASLMechanisms: CRAM-MD5
supportedSASLMechanisms: NTLM
supportedSASLMechanisms: LOGIN
supportedSASLMechanisms: PLAIN

客户端

client% ldapsearch uid=exampleuser

SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Authentication method not supported (7)
    additional info: SASL(-4): no mechanism available: Couldn't find mech GSSAPI

客户端 ldap.conf

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE        dc=example,dc=com
URI         ldap://ldap.example.com
SASL_MECH   GSSAPI

显然,错误很清楚,可以解释我的 ldap 请求没有找到验证机制。

我经历了许多教程和解释,但仍然无法找到如何“添加”该机制的任何地方。

谢谢什么是 SASL/GSSAPI?对于所有令人敬畏的解释。

为用户 473183469 更新

我已经为 ldap 生成了一个密钥表,我在/etc/ldap/ldap.keytab中复制了它,并根据https://help.ubuntu.com/community/SingleSignOn编辑了/etc/default/slapd要求取消注释并给出导出 KRB5_KTNAME=/etc/ldap/ldap.keytab的路径

那个 ldap keytab 是这样生成的

kadmin: addprinc -randkey ldap/[email protected]
kadmin: ktadd -k ~/ldap.keytab ldap/[email protected]

我还有一个在安装开始时创建的 /etc/krb5.keytab

kadmin.local:  listprincs
[email protected]
K/[email protected]
krbtgt/[email protected]
kadmin/[email protected]
kadmin/[email protected]
kadmin/[email protected]
kadmin/[email protected]
[email protected] (also in the ldap, can issue a ticket and everything)
[email protected] (same for him)
ldap/[email protected]

ktutil 结果

# ktutil
ktutil:  read_kt /etc/ldap.keytab
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    2            ldap/[email protected]
   2    2            ldap/[email protected]
   3    2            ldap/[email protected]
   4    2            ldap/[email protected]
ktutil:  read_kt /etc/krb5.keytab
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    2            ldap/[email protected]
   2    2            ldap/[email protected]
   3    2            ldap/[email protected]
   4    2            ldap/[email protected]
   5    2           kadmin/[email protected]
   6    2           kadmin/[email protected]
   7    2           kadmin/[email protected]
   8    2           kadmin/[email protected]
openldap sasl gssapi ldapmodule
  • 3 3 个回答
  • 7692 Views

3 个回答

  • Voted
  1. Best Answer
    Tolsadus
    2017-03-01T03:53:08+08:002017-03-01T03:53:08+08:00

    解决了

    我失踪SASL_MECH GSSAPI了SASL_REAM/etc/ldap/ldap.conf

    [Tue Feb 28 13:48 root:ldap] [~] # cat /etc/ldap/ldap.conf
    #
    # LDAP Defaults
    #
    
    # See ldap.conf(5) for details
    # This file should be world readable but not world writable.
    
    BASE    dc=example,dc=com
    URI ldap://ldap.example.com    
    SASL_MECH GSSAPI
    SASL_REALM EXAMPLE.COM
    

    现在我可以直接使用 kerberos 票证 ldapsearch uid=user 并获取

    SASL/GSSAPI authentication started
    SASL username: [email protected]
    SASL SSF: 112
    SASL data security layer installed.
    # extended LDIF
    #
    # LDAPv3
    # base <dc=example,dc=com> (default) with scope subtree
    # filter: uid=user
    # requesting: ALL
    #
    

    当然,如果我没有 kerberos 票(这是有道理的)

    client% ldapsearch uid=gleger
    SASL/GSSAPI authentication started
    ldap_sasl_interactive_bind_s: Local error (-2)
        additional info: SASL(-1): generic failure: GSSAPI Error:  Miscellaneous failure (see text (No credentials cache file found)
    
    • 2
  2. 84104
    2017-02-28T11:46:29+08:002017-02-28T11:46:29+08:00

    您通常需要更改 slapd 的 sasl 配置/etc/sasl2/slapd.conf以包含 gssapi。

    例如:

    mech_list: external gssapi plain
    pwcheck_method: saslauthd
    

    之后您需要重新启动 slapd。

    • 1
  3. 473183469
    2017-02-25T03:08:32+08:002017-02-25T03:08:32+08:00

    您不是只是缺少/etc/krb5.keytab具有 SPN 的文件ldap/fdqn吗?

    我认为您不需要在 OpenLDAP 上设置任何与 GSSAPI 相关的 SASL 开关,因为默认设置很好,并且强制例如领域比其他更麻烦。

    • 0

相关问题

  • OpenLDAP 无效凭证

  • 从 OpenLDAP 检索操作属性

  • 为 Mac 网络使用 Linux 和 Open LDAP

  • 使用LDAP服务器身份验证的Linux中单个用户的多个登录名

  • 将 OpenLDAP 实现为目录而不是控制网络访问的指南?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve