我正在尝试使用syncrepl为LDAP设置一个复制服务器。我想使用Kerberos对使用者进行身份验证,因为我们已经设置了它,而且它看起来更安全。我的提供者和使用者的数据库定义如下。
启动使用者时,我会得到以下错误:
GSSAPI Error: Unspecified GSS failure. Minor code may provide more information
(Credentials cache file '/tmp/krb5cc_55' not found)我认为这意味着消费者没有有效的TGT。如何配置使用者以获得有效的TGT?我读过一些较早的资料,建议使用k5start或cron作业。还是这样做的吗?
slapd.conf手册页面指出,authcid和authzid可以与bindmethod=sasl一起使用,但它没有指定如何对它们进行格式化。我应该在这里放置一个DN,还是一个kerberos主体,或者其他什么东西?我需要指定这些吗?
谢谢你的帮助
database bdb
suffix "dc=example"
rootdn "uid=someuser,cn=realm,cn=gssapi,cn=auth"
directory /var/lib/ldap
dirtyread
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
syncrepl rid=1
provider=ldap://provider.realm
type=refreshAndPersist
starttls=yes
searchbase="dc=example"
schemachecking=off
bindmethod=sasl
saslmech=gssapi
retry="10 +"database bdb
suffix "dc=example"
rootdn "uid=someuser,cn=realm,cn=gssapi,cn=auth"
directory /var/lib/ldap
dirtyread
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100发布于 2015-05-29 19:27:02
我获得了使用kerberos身份验证处理以下配置的syncrepl。本网站 about nslcd.conf说authzid应该是"dn:“或"u:”的形式。我还使用k5start在/tmp/krb5cc_55为someuser@REALM创建了一个缓存文件,并使用了chown ldap:ldap。请注意,55是ldap uid;但是,我不确定是否有必要将该文件命名为此。在提供程序配置中,我将someuser指定为rootdn,以允许它访问整个数据库。
我只想澄清,这是对我有用的,但我对ldap的理解有限,所以我不能保证它能在其他地方工作,我也不知道这个配置中的所有东西是否都是必需的。
syncrepl rid=1
provider=ldap://provider.realm
type=refreshAndPersist
starttls=yes
searchbase="dc=realm"
schemachecking=off
retry="10 +"
tls_cacert="/path/to/ca.crt"
bindmethod=sasl
saslmech=gssapi
authcid="someuser@REALM"
authzid="uid=someuser,cn=realm,cn=gssapi,cn=auth"https://serverfault.com/questions/686800
复制相似问题