我slapd
在 Ubuntu 14.04 上安装了版本 2.4.31-1+nmu2ubuntu8.3。它配置为通过端口 389 进行 TLS 传输,以及通过端口 636 进行 SSL 传输。
我在测试新应用程序时遇到了查询问题,但不太清楚如何调试它。我可以tcpdump
在 ldap 服务器上运行,但除非我将端口 389 改为明文,否则没什么用。我真的不想这样做,因为从安全角度来看,测试应用程序中使用的任何密码基本上都是泄露的。我能想到的唯一办法是重新启动slapd
或-D 255
使用其他方法,但我真的很想看看客户端和服务器之间的会话数据。
如何在不影响会话完整性的情况下查看 PHP 应用程序和 ldap 服务器之间传输的数据?/var/log/
文件中显示的数据非常少。
更新:我为我的cn=config
设置添加了额外的日志记录,如下所示:
将以下内容写入 logmod.ldif:
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
dn: cn=config
changetype: modify
add: olcLogLevel
olcLogLevel: stats2
然后运行:
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f logmod.ldif
答案1
您将需要设置olcLogLevel
为包含stats
和stats2
。这将导致 OpenLDAP 将查询和响应信息记录到 syslog 工具中LOCAL4
。
您还需要确保将其LOCAL4
发送到您可以读取的地方,例如制作/etc/rsyslog.d/slapd.conf
并使其包含local4.* /var/log/messages
。