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 / 问题

问题[slapd](server)

Martin Hope
user161458
Asked: 2021-12-15 01:22:10 +0800 CST

openldap / slapd 返回错误:“守护进程:listen(ldap://my.server1.org, 5) failed errno=98 (Address already in use)”

  • 0

我正在尝试在两个 openldap 服务器之间设置主复制。为此,第一步让我配置这两个文件:

  • /etc/hosts,需要包含服务器(本身和第二台服务器)的baseDN的DNS:
192.168.150.1 my.server1.org
192.168.150.2 my.server2.org
  • /etc/default/slapd,需要包含服务器自己的 FQDN 以将未来的 serverID 与 URI 匹配:
SLAPD_SERVICES="ldap:/// ldapi:/// ldap://my.server1.org"

配置 SLAPD_SERVICES 变量并重新启动 slapd 服务后,我收到以下错误:daemon: listen(ldap://my.server1.org, 5) failed errno=98 (address already un use)。注意:服务处于活动状态(未处于失败状态)

所有 LDAP 命令(例如“ldapsearch -x”)都返回相同的错误:ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

我尝试通过列出正在使用该地址的服务器上运行的所有进程来查找原因my.server1.org:

lsof -i |grep my.server1.org
nmdb  377 root  25u IPv4 17535    0t0 UDP my.server1.org:netbios-ns
nmdb  377 root  27u IPv4 17537    0t0 UDP my.server1.org:netbios-dgm

注意:杀死netbios的PID并没有解决问题

如您所见,没有第二个 slapd/openldap 服务已经在运行。

我自己或在互联网上找不到解决方案,所以我在这里发布我的问题。

编辑1:在@naxto asenjo 的请求之后,这里是命令的结果ss --listening --processes --numeric |egrep "389|636":

Netid  State  Recv-Q  Send-Q    Local Address:Port                            Peer Address:Port
u_str  LISTEN 0       128       /run/containerd/containerd.sock.ttrpc 14758   users:(("containerd",pid=389, fd=6)) *O
u_str  LISTEN 0       128       /run/containerd/containerd.sock.ttrpc 14758   users:(("containerd",pid=389, fd=7)) *O

编辑 2:我尝试将 SLAPD_SERVICES 和 /etc/hosts 中的值更改为我从未使用过的新 FQDN(ldap 数据库仍然是 my.server1.org)。重新启动 slapd 后,我收到相同的错误,“地址已在使用中”(对于新的 FQDN)。/etc/hosts 和 SLAPD_SERVICES 似乎遇到了冲突?如果我不编辑 /etc/hosts 文件,我会收到错误“名称解析暂时失败”。

ldap openldap slapd
  • 1 个回答
  • 395 Views
Martin Hope
Stormrice
Asked: 2021-12-03 02:27:52 +0800 CST

软件包安全补丁是否向后移植到旧版本?

  • 0

我在cve.mitre.org上看到 OpenLDAP (slapd) 包在2.4.57.

如果我想在我的 Debian 10 上从官方存储库安装 OpenLDAP,哪个版本是slapd/oldstable,oldstable 2.4.47+dfsg-3+deb10u6 amd64.

这些 CVE 的安全补丁是否已向后移植到此2.4.47版本,还是我必须2.6.x从官方网站获取最新版本 ( ),并从源安装它以摆脱那些 CVE?

谢谢你。

debian security openldap patch-management slapd
  • 1 个回答
  • 47 Views
Martin Hope
joaerl
Asked: 2021-10-08 00:58:04 +0800 CST

如何查看 ldap 密码存储策略

  • 0

如何检查密码如何存储在本地运行的 OpenLDAP 服务器中?我更喜欢某种查询来说明使用的配置。或者,访问存储的密码以查看它们是否已加密也是可以接受的。仅检查配置文件是不够的。

我已经使用 ldapsearch 列出了用户及其密码

ldapsearch -x -b ou=people -H ldap://127.0.0.1 -D cn=admin -w <password>

并且密码没有以明文形式列出,但这是否真的确认它们没有以明文形式存储,或者 ldapsearch 在返回结果之前对其进行加密?

linux ldap user-management openldap slapd
  • 1 个回答
  • 447 Views
Martin Hope
andreagalle
Asked: 2021-07-23 02:16:42 +0800 CST

这些 LDAP 命令中的数字是多少?ldap(3)、slapd(8)、slapd.conf(5)、slurpd(8)

  • 0

在 LDAP 星系中发现的上述命令中括号之间的数字代表什么?

我真的找不到任何东西,无论是在文档上,我也找不到这种奇数编号风格的任何理由!

ldap openldap slapd
  • 1 个回答
  • 36 Views
Martin Hope
BradChesney79
Asked: 2021-05-12 23:32:01 +0800 CST

学习 OpenLDAP,遵循“旧”教程——需要更新 hdb 与 mdb,调整前进的步骤

  • 0

http://www.rjsystems.nl/en/2100-d6-kerberos-openldap-provider.php

这个 2017 教程使用 hdb olcDatabase——现代安装默认为 mdb。

我的步骤是:http ://www.rjsystems.nl/en/2100-d6-kerberos-openldap-provider.php#cncf

更改 2.1.1

# 2.1.1
dn: olcDatabase={1}hdb,cn=config
changetype: modify
delete: olcAccess
olcAccess: {2}to *
  by self write
  by dn="cn=admin,dc=example,dc=com" write
  by * read

首先,我知道我使用的 OpenLDAP 版本默认为 mdb——但是,这个简单的更改是不够的。

我知道 dn: olcDatabase={1}hdb,cn=config 需要修改以获得匹配。我认为当您没有登录到 OpenLDAP 机器本身时,这会删除管理员权限。但是,我还不够聪明,无法理解如何构造一个好的搜索字符串,甚至将它拆开。我只是还没有摸透它。

我确实学会了如何转储我的配置树。

root@auth:~/ldap# slapcat -n 0
dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/slapd/slapd.args
olcPidFile: /var/run/slapd/slapd.pid
olcToolThreads: 1
structuralObjectClass: olcGlobal
entryUUID: 4233e57c-461f-103b-823a-eddba7c2a4d6
creatorsName: cn=config
createTimestamp: 20210510210556Z
olcLogLevel: stats
entryCSN: 20210510211216.057315Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20210510211216Z

dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_mdb
structuralObjectClass: olcModuleList
entryUUID: 42344030-461f-103b-8242-eddba7c2a4d6
creatorsName: cn=admin,cn=config
createTimestamp: 20210510210556Z
entryCSN: 20210510210556.957974Z#000000#000#000000
modifiersName: cn=admin,cn=config
modifyTimestamp: 20210510210556Z

...

dn: olcBackend={0}mdb,cn=config
objectClass: olcBackendConfig
olcBackend: {0}mdb
structuralObjectClass: olcBackendConfig
entryUUID: 423454b2-461f-103b-8243-eddba7c2a4d6
creatorsName: cn=admin,cn=config
createTimestamp: 20210510210556Z
entryCSN: 20210510210556.958497Z#000000#000#000000
modifiersName: cn=admin,cn=config
modifyTimestamp: 20210510210556Z

dn: olcDatabase={-1}frontend,cn=config
objectClass: olcDatabaseConfig
objectClass: olcFrontendConfig
olcDatabase: {-1}frontend
olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=extern
 al,cn=auth manage by * break
olcAccess: {1}to dn.exact="" by * read
olcAccess: {2}to dn.base="cn=Subschema" by * read
olcSizeLimit: 500
structuralObjectClass: olcDatabaseConfig
entryUUID: 4233e996-461f-103b-823b-eddba7c2a4d6
creatorsName: cn=config
createTimestamp: 20210510210556Z
entryCSN: 20210510210556.955757Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20210510210556Z

dn: olcDatabase={0}config,cn=config
objectClass: olcDatabaseConfig
olcDatabase: {0}config
olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=extern
 al,cn=auth manage by * break
olcRootDN: cn=admin,cn=config
structuralObjectClass: olcDatabaseConfig
entryUUID: 4233ef9a-461f-103b-823c-eddba7c2a4d6
creatorsName: cn=config
createTimestamp: 20210510210556Z
entryCSN: 20210510210556.955910Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20210510210556Z

dn: olcDatabase={1}mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {1}mdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=bradchesney,dc=net
olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * non
 e
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to * by * read
olcLastMod: TRUE
olcRootDN: cn=admin,dc=bradchesney,dc=net
olcRootPW:: e1NTSEF9aGdrUVFacXpaMHBaTkVIYjVvalZwbEswQ1o5cWxsaXA=
olcDbCheckpoint: 512 30
olcDbIndex: objectClass eq
olcDbIndex: cn,uid eq
olcDbIndex: uidNumber,gidNumber eq
olcDbIndex: member,memberUid eq
olcDbMaxSize: 1073741824
structuralObjectClass: olcMdbConfig
entryUUID: 423457f0-461f-103b-8244-eddba7c2a4d6
creatorsName: cn=admin,cn=config
createTimestamp: 20210510210556Z
entryCSN: 20210510210556.958581Z#000000#000#000000
modifiersName: cn=admin,cn=config
modifyTimestamp: 20210510210556Z

但是,现在呢?

我的猜测是我需要以某种方式连接到 olcDatabase——在我的 config.ldif slapcat 转储中存在几次并删除这些条目。我的解释是,它就像 HTML 中的类——你结合搜索类,直到你提炼到你想要的元素的不同子集。这可能是一个错误的观点。

openldap slapd
  • 1 个回答
  • 169 Views
Martin Hope
azmeuk
Asked: 2020-12-11 03:53:45 +0800 CST

OpenLDAP cn=config 数据库访问被阻止

  • 0

我将 OpenLDAP 2.4.54 与 Alpine 一起使用。这是我的 ldap 配置

$ sudo slapcat -n0
dn: olcDatabase={-1}frontend,cn=config
objectClass: olcDatabaseConfig
objectClass: olcFrontendConfig
olcDatabase: {-1}frontend
structuralObjectClass: olcDatabaseConfig
entryUUID: afb8286a-68e7-426d-8a9f-91f52935c4af
creatorsName: cn=config
createTimestamp: 20200807074746Z
entryCSN: 20200807074746.355242Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20200807074746Z

dn: olcDatabase={0}config,cn=config
objectClass: olcDatabaseConfig
olcDatabase: {0}config
olcAccess: {0}to *  by * none
olcAddContentAcl: TRUE
olcLastMod: TRUE
olcMaxDerefDepth: 15
olcReadOnly: FALSE
olcRootDN: cn=config
olcSyncUseSubentry: FALSE
olcMonitoring: FALSE
structuralObjectClass: olcDatabaseConfig
entryUUID: 570fed11-408d-42a2-bf96-3e063cc8276e
creatorsName: cn=config
createTimestamp: 20200807074746Z
entryCSN: 20200807074746.355548Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20200807074746Z

dn: olcDatabase={1}mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {1}mdb
olcDbDirectory: /var/lib/openldap/openldap-data
olcSuffix: dc=mydomain,dc=tld
olcRootDN: cn=admin,dc=mydomain,dc=tld
olcRootPW:: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
olcDbIndex: objectClass eq
structuralObjectClass: olcMdbConfig
entryUUID: 5e4e308d-3243-4dd0-aa45-d289eb5575ab
creatorsName: cn=config
createTimestamp: 20200807074746Z
entryCSN: 20200807074746.355490Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20200807074746Z

我无法使用 SASL 身份验证编辑 cn=config 数据库:

ldapmodify -Y EXTERNAL -H ldapi:/// -f anything.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=1000+uidNumber=1000,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
ldap_modify: Insufficient access (50)

我无法使用根 dncn=config进行身份验证:

ldapmodify -H ldapi:/// -D cn=config -f anything.ldif
ldap_bind: Server is unwilling to perform (53)
    additional info: unauthenticated bind (DN with no password) disallowed

现在。既然我似乎对此没有任何权限,我该如何编辑此数据库中的任何内容?我可以尝试使用gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authwitholcAccess或添加olcRootPWfor访问权限,cn=config但我无权执行此操作。

我该如何解决这是一个先有鸡还是先有蛋的问题?

openldap slapd sasl
  • 1 个回答
  • 168 Views
Martin Hope
tuna
Asked: 2020-07-19 05:12:42 +0800 CST

slapd.conf ACL:ldap_modify:访问权限不足 (50)

  • 0

我试图限制对用户自己的userPassword属性的写访问。但是现在惨败了几个小时。这是我到目前为止所做的:

  • 在 Arch linux 上安装 OpenLDAP 2.4
  • 通过 Apache Directory Studio配置基本 DN ( dc=exmaple,dc=org) 和 Manager 以修改、添加和删除
  • 添加了两个组织单位people和group
  • ou=people在-uid=timo,ou=people,dc=example,dc=org和下添加了两个用户uid=heike,...

我想做的下一件事是能够修改用户自己的 userPassword。为此,我创建了一个changepw.ldif文件。

dn: uid=timo,ou=people,dc=example,dc=org
changetype: modify
replace: userPassword
userPassword: newpw

并像这样应用它

$ ldapmodify -x -D "uid=timo,ou=people,dc=example,dc=org" -W -f changepw.ldif
modifying entry "uid=timo,ou=people,dc=example,dc=org"
ldap_modify: Insufficient access (50)

我首先使用 Apache Directory Studio 为 uid=timo 设置了 userPassword 并验​​证它是否正常工作

到目前为止,一切都在正常工作(至少它符合我的期望:-P)。所以我向 /etc/openldap/slapd.conf 添加了访问控制,如下所示:

[...]
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn.  (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!

access  to attrs=userPassword by self write by anonymous auth by dn.base="cn=Manager,dc=example,dc=org" write by * none

#######################################################################
# MDB database definitions

database        mdb
[...]

并做了通常的事情:

$ slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
$ chown -R ldap:ldap /etc/openldap/slapd.d
$ systemctl restart slapd

并再次尝试。

$ ldapmodify -x -D "uid=timo,ou=people,dc=example,dc=org" -W -f changepw.ldif
modifying entry "uid=timo,ou=people,dc=example,dc=org"
ldap_modify: Insufficient access (50)

由于某种原因,访问被拒绝。我打开了acl日志并得到了这个:

5f12f36a => access_allowed: result not in cache (userPassword)
5f12f36a => access_allowed: auth access to "uid=timo,ou=people,dc=example,dc=org" "userPassword" requested
5f12f36a => slap_access_allowed: backend default auth access granted to "(anonymous)"
5f12f36a => access_allowed: auth access granted by read(=rscxd)
5f12f36a => access_allowed: backend default write access denied to "uid=timo,ou=people,dc=example,dc=org"

我将不胜感激任何帮助!

ldap openldap slapd
  • 1 个回答
  • 420 Views
Martin Hope
DG DM
Asked: 2020-07-09 23:04:18 +0800 CST

为 Slapd 指定 Keytab 位置

  • 0

我需要帮助。如何设置 ldap keytab 位置路径以便 slapd 使用它而不是系统 /etc/krb5.keytab?

我在文档中找不到配置。

太感谢了。

openldap kerberos slapd
  • 1 个回答
  • 101 Views
Martin Hope
MSF004
Asked: 2016-10-29 16:19:59 +0800 CST

OpenLDAP 授予组写入权限

  • 1

我们的openldap有多个组:useradmins、agt、ib、iss、itt

“useradmins”组始终具有编辑(写入)所有组的权限。我最近执行了一个简单的 'yum update' 并更新了 openldap。从那时起(大约 3 天前)管理员不能写(添加或更改用户)。错误是:

访问权限不足 - 对父级没有写访问权限

...或者,根据我对 slapd.conf 文件的尝试/错误,有时我很容易得到:

访问权限不足

我编辑了我的 slapd.conf 文件(大约 500 次),在阅读在线帖子、文档等时尝试了不同的设置。我当前的 slapd.conf 文件如下所示:

...
database        bdb
suffix          "dc=am5up,dc=com"
directory       /var/lib/ldap

index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber               eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub
index entryCSN                          eq
index entryUUID                         eq

access to *
          by self write
          by dn="cn=admin,dc=am5up,dc=com" write
          by group/groupOfUniqueNames/uniqueMember="cn=useradmins,ou=groups,dc=am5up,dc=com" write
          by * read
rootdn    "cn=admin,dc=am5up,dc=com"
rootpw    <hashed pwd>
...

我的假设是这条线是错误的:

group/groupOfUniqueNames/uniqueMember="cn=useradmins,ou=groups,dc=am5up,dc=com" write

...但我已经尝试了几十种变体,但都没有成功。

任何人都可以提出任何建议吗?

非常感激。

linux centos redhat openldap slapd
  • 1 个回答
  • 1529 Views
Martin Hope
Ed Manet
Asked: 2012-05-25 09:30:19 +0800 CST

SLES 11 - slapd 正在向 syslog 发送垃圾邮件

  • 1

我怎样才能安静下来?每一秒它都将相同的五行写入 /var/log/messages 文件。

May 24 13:16:09 servername slapd[21299]: conn=5866 op=15204 SRCH base="" scope=0 deref=2 filter="(objectClass=*)"
May 24 13:16:09 servername slapd[21299]: conn=5866 op=15204 SRCH attr=subschemaSubentry namingContexts altServer supportedExtension supportedControl supportedFeatures supportedSASLMechanisms supportedLDAPVersion vendorName vendorVersion
May 24 13:16:09 servername slapd[21299]: conn=5866 op=15204 SEARCH RESULT tag=101 err=0 nentries=1 text=
May 24 13:16:09 servername slapd[21299]: conn=5866 op=15205 SRCH base="o=od,c=us" scope=2 deref=2 filter="(|(|(|(|(cn:dn:=global)(cn:dn:=standards))(objectClass=organizationalUnit))(objectClass=organization))(&(&(objectClass=*)(cn:dn:=00026))(ou:dn:=dev)))"
May 24 13:16:09 servername slapd[21299]: conn=5866 op=15205 SEARCH RESULT tag=101 err=0 nentries=45 text=

这些对我来说似乎不是错误信息。AFAIK,ldap 工作正常。openldap.org 文档显示我可以将“loglevel 0”添加到 slapd.conf,但这没有帮助。

有什么想法可以让这东西闭嘴吗?

openldap slapd sles11
  • 2 个回答
  • 1434 Views

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