我在 Centos 6 服务器上的 openldap 日志文件中没有收到任何信息。这是我的配置方式。SELinux 目前已禁用。
首先创建一个文件夹,用于存储日志文件。
mkdir /var/log/slapd
chmod 755 /var/log/slapd/
chown ldap:ldap /var/log/slapd/
然后进行配置。
ldapsearch -D "cn=admin,cn=config" -w secret -b cn=config cn=config
dn: cn=config
changetype:modify
replace: olcLogFile
olcLogFile: /var/log/slapd/slapd.log
-
replace: olcLogLevel
olcLogLevel: conns filter config acl stats shell
EOF
为了安全起见,我重新启动了服务
service openldap restart
它确实创建了文件,但没有向文件中写入任何内容。当然,我对 LDAP 服务器进行了一些搜索和更新,因此它会获取连接和记录内容。
$ ls -alh
total 12K
drwxr-xr-x. 2 ldap ldap 4.0K Oct 25 14:27 .
drwxr-xr-x. 6 root root 4.0K Oct 25 14:10 ..
-rw-r--r--. 1 ldap ldap 0 Oct 25 14:33 slapd.log
我的 LDAP 设置可以在这里找到(现在在我自己的服务器上稍作修改)
答案1
我还没有尝试过olcLogFile
,但默认情况下,OpenLDAP 会将所有信息记录到 rsysloglocal4
设施中。
将以下行添加到/etc/rsyslog.conf
或 /etc/rsyslog.d/ldap.conf:
local4.* /var/log/ldap.log
重新启动rsyslog
服务并检查此日志。
答案2
olcLogFile
仅在 Windows 上使用,因为它缺少系统日志。
登录系统的方式与@quanta 回答的方式相同。
答案3
由于olcLogFile
在这个答案是不正确的,我必须纠正这一点。
引用相关部分slapd-config(5)
:
olcLogFile: <filename>
Specify a file for recording debug log messages. By default
these messages only go to stderr and are not recorded any‐
where else. Specifying a logfile copies messages to both
stderr and the logfile.