Articles of openldap

systemPossSuperiors – 为什么AD有它,但不是openldap

使用openldap,现在开始了解MS活动目录(AD),我发现在AD中有一个名为“systemPossSuperiors”的属性,它定义允许哪些对象作为父对象。 Afaik在openldap中不存在。 (如何决定openldap允许哪些对象作为父母?) 任何人都可以在这个devise决策上点亮一些东西 systemPossSuperiors是否使AD更健壮? 还是更灵活? 我只是好奇为什么会select这样做或其他方式。

ldap_result:无法联系LDAP服务器(-1)

G'day,我configuration了在端口636上运行的openldap-server机器。我也可以从另一个openldap-client机器telnet到这个端口。 为了保证连接的安全,我在服务器上使用此链接input链接描述在此处创build了自签名证书,然后将证书文件复制到客户端。 我已经确定SELinux在这两台机器上都是可用的,并且客户端/etc/openldap/ldap.conf文件也有TLS_REQCERT选项 客户机的详细configuration是: # cat ldap.conf URI ldap://ad.dfsi.dev:636 BASE dc=dfsi,dc=dev TLS_CACERTDIR /etc/openldap/cacerts TLS_REQCERT allow 和nslcd文件: # cat /etc/nslcd.conf tls_reqcert allow ssl start_tls tls_cacertdir /etc/openldap/cacerts tls_reqcert allow 如果我不使用SSL,则ldap客户端可以访问所有ldap用户。 但是,当我通过authconfig-tui更改configuration以使用TLS时,ldaps://ad.xx.dev:636,则失败。 日志说,客户端成功连接到服务器,但然后服务器删除连接,如下所示: ldapsearch -x -d 1 ldap_create ldap_sasl_bind ldap_send_initial_request ldap_new_connection 1 1 0 ldap_int_open_connection ldap_connect_to_host: TCP ad.dfsi.dev:636 ldap_new_socket: 3 ldap_prepare_socket: 3 ldap_connect_to_host: Trying xx.xx.xx.xx:636 ldap_pvt_connect: fd: 3 […]

openldap:日志级别的巨大日志文件'stats'

我有一个运行openldap用于用户pipe理的Linux服务器。 日志级别设置为“stats”,我认为这是“推荐”日志级别。 现在问题是日志文件正在快速增长,大部分条目都是由less数KDE 4客户端查询产生的:每秒钟,创build以下表单的条目 Apr 19 13:21:50 ###### slapd[1429]: conn=1001 op=26379 SRCH base="dc=###" scope=2 deref=0 filter="(&(objectClass=posixAccount)(uid=####))" Apr 19 13:21:50 ###### slapd[1429]: conn=1001 op=26379 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory loginShell gecos description objectClass Apr 19 13:21:50 ###### slapd[1429]: conn=1001 op=26379 SEARCH RESULT tag=101 err=0 nentries=1 text= Apr 19 13:21:50 ###### slapd[1429]: conn=1001 op=26380 SRCH […]

如何使用ldapdelete删除不正确设置的olc数据库?

我一直在经历这个教程,并不断收到错误 – 可能是因为我手动input – 所以我重试,进入后执行它 # Load dynamic backend modules dn: cn=module,cn=config objectClass: olcModuleList cn: module olcModulepath: /usr/lib/ldap olcModuleload: back_hdb # Database settings dn: olcDatabase=hdb,cn=config objectClass: olcDatabaseConfig objectClass: olcHdbConfig olcDatabase: {1}hdb olcSuffix: dc=example,dc=local olcDbDirectory: /var/lib/ldap 它的工作,所以我键入其余的,并重新执行: sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.example.com.ldif 现在它说 ldap_add: Other (eg, implementation specific) error (80) additional info: <olcSuffix> […]

无法从Linux主机使用Kerberos查询AD

ldapsearch -H <URL> -b <BASE> -s sub -D <USER> -x -w <PW> 工作正常 kinit <USER>@<REALM> ldapsearch -H <URL> -b <BASE> -s sub 失败: text: 000004DC: LdapErr: DSID-0C0906E8, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v1db1 kinit Administrator@<REALM> ldapsearch -H <URL> -b <BASE> -s sub […]

openLDAP如何从当前configuration中删除nis架构

openLDAP 2.4 Ubuntu 14.04 我从ldap发现了这个基于dn的linux组的问题。 我试图包含rfc2307bis模式,但似乎在包含rfc2307bis之前必须从configuration中删除nis模式。 我如何从当前configuration中删除这个nis架构?

通过LDAP查找最接近的域控制器

我在一个Unix主机上,正在寻找一个编程方式来确定最接近的DC。 微软有一篇很好的文章解释了如何执行DNS查询,我可以很容易地find可用的DC列表: dig -t SRV _ldap._tcp.dc._msdcs.example.com 但是关于find最接近的,它解释说: 客户端find域控制器后,使用LDAPbuild立通信以获得对Active Directory的访问权限。 作为协商的一部分,域控制器根据客户端的IP子网标识客户端在哪个站点。 如果客户端与不在最近(最佳)站点的域控制器进行通信,则域控制器将返回客户站点的名称。 到目前为止,我一直无法findLDAP查询过程中“返回客户站点名称”的位置。 有没有一个特定的查询,我应该得到这个,或者一些其他的技术,可以在一个Unix主机上没有join到域中执行? 编辑:感谢Sim的指针,我已经学会如何find正确的DC,一旦我知道我的网站(在这个例子中,“mysite”作为example.com的一部分): dig -t SRV _ldap._tcp.mysite._sites.dc._msdcs.example.com 但是这留下了如何确定我的网站的问题。 反复的文件表明,我连接任何DC将为我工作,但我找不到文件,说如何返回给我的信息。 我甚至试着直接向DNS发送DNS查询,看看他们是否会用我的站点排在最前面的SRV结果,但是他们没有。

如何禁用LDAP帐户?

LDAP使用posixAccount模式和相关的属性,我不知道是否有一个标准的方式来禁用一个帐户。 重新启用帐户显然应重新启用以前的密码。 我知道passwd –lock在/etc/passwd的encryption密码前面加了一个感叹号。 相同的约定是否与LDAP条目的userPasswd字段一起工作? 更新:我知道下面的PAM / NSS,我的问题是专门针对LDAP服务器。 一旦帐户被locking,我希望用户无法打开到LDAP服务器本身的身份validation连接(使用自己的凭据)。 这是因为有几个服务使用成功的身份validation连接作为简单的身份validation机制,而不使用PAM来执行此任务(这在Web界面中很常见)。

ldap_add:约束违例(19)

我遇到了使用ldapadd和ldif文件导入用户的问题。 我得到的错误是: ldap_add: Constraint violation (19) additional info: structuralObjectClass: no user modification allowed 导入的用户都是ou=People,dc=example,dc=org 。 LDAP服务器已经包含此基本DN。 /etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif文件包含以下ACL条目: olcAccess: {2}to dn.base="ou=People,dc=example,dc=org" attrs=children by gr oup.exact="cn=Manager,ou=Roles,dc=example,dc=org" manage ldif文件导入如下: ldapadd -f import.ldif -xv -D "cn=drupal,ou=Apps,dc=example,dc=org" -h localhost -W cn=drupal,ou=Apps[…]条目是cn=Manager,ou=Roles,dc=example,dc=org的成员cn=Manager,ou=Roles,dc=example,dc=org因此它应该有足够的权限来写( 因为manage是最高级别权限可用 )。 当我发出ldapadd命令时,导入在第一个ldif入口上失败。 完整的命令输出是: add objectClass: top person inetOrgPerson add uid: John.Merrell add mail: [email protected] add cn: John D […]

ldapadd / ldapmodify:澄清需要关于这些comamnds

ldapmodify手册页指出: ldapmodify的默认值是修改现有的条目 然而,当我尝试导入与ldapmodify LDIF文件时,我得到了下面的错误: ldapmodify: modify operation type is missing at line X Q1:为什么我应该将这些参数添加到我的ldapmodify命令中? 如果我使用ldapadd导入一个LDIF文件并且该条目已经存在,那么我得到下面的错误: ldap_add: Already exists (68) 使用-c开关可以忽略(继续),但ldap_add不会更新现有条目。 相反,为了更新现有的条目,应该使用ldapmodify ,但ldapmodify不会添加缺less的条目。 问题2:是否有办法通过创build缺失条目并同时更新现有条目来导入LDIF文件?