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 base="dc=###" scope=2 deref=0 filter="(&(objectClass=posixAccount)(uidNumber=####))" Apr 19 13:21:50 ###### slapd[1429]: conn=1001 op=26380 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory loginShell gecos description objectClass Apr 19 13:21:50 ###### slapd[1429]: conn=1001 op=26380 SEARCH RESULT tag=101 err=0 nentries=1 text= 

我并不清楚客户的哪一个确切的组成部分正在造成这种查询的泛滥。 我强烈的猜测是,它来自某些用户login时在后台运行的一些标准KDE组件。

  • 这是正常的行为还是客户疯狂? 任何猜测来自哪里?
  • 如果这是正常的,我不能使用“统计”级别。 有没有更详细的日志级别“无”,这在我的情况是有道理的?

loglevel=stats确实是手册中描述的默认日志级别。

对于具有LDAP后端的Linux系统,这些看起来完全有效的查询。

filter: "(&(objectClass=posixAccount)(uid=####))"查找具有特定login名的帐户。 当用户尝试login时,我期望从您的PAM堆栈中查询这样的查询。

filter: (&(objectClass=posixAccount)(uidNumber=####))查找与数字uidNumber关联的信息。 当你的系统需要将你的系统使用的数字UID号码转换为更人性化的login名时,例如执行ls -l时,我会期待这样的查询。

请求以下帐户属性: attr=uid userPassword uidNumber gidNumber cn homeDirectory loginShell gecos description objectClass这是用户帐户的普通POSIX帐户属性。

LDAP查询成功,并且如预期的那样产生了1个结果: SEARCH RESULT tag=101 err=0 nentries=1 text 。 0的结果也是可以预期的,一个用户名或者数字uidNumber是未知的,多于一个的结果会是有趣的,对于每个唯一的用户,用户帐户和数字uidNumber被认为是唯一的和独特的。

您可以将您的Linux客户端configuration为创build和维护一个caching,将这些查询的结果发送到中央用户目录,这样可以减lessLDAP服务器的负载,减less日志条目,并使客户端的性能更好。

在客户端上安装并启用nscd (名称服务caching守护进程)。 通常不需要调整nscd。