我有一台服务器,运行nslcd来查询AD服务器,并使用它进行授权,这是正常工作的。现在,我引入了nscd以减少AD服务器上的负载。结果有点奇怪。如果我正常运行nscd进程(作为nscd用户甚至根用户),守护进程不会返回任何结果。
[root@ldap-auth-test ~]# id testuser1
id: testuser: No such user现在,为了了解为什么它不起作用,我试图扼杀这个过程。
strace -p 8327 -f -s 1000同时,我又在testuser1上做了一个id。这次,
[root@ldap-auth-test ~]# id testuser1
uid=10004(testuser1) gid=10046(A-TESTGROUP1) groups=10046(A-TESTGROUP1) context=root:system_r:unconfined_t:SystemLow-SystemHigh我试过多次,看看这是否是巧合,并观察到这不是。我试图不附加到线程,并且可以看到,当我没有附加到线程时,nscd是不工作的。任何帮助都是非常感谢的。
[root@ldap-auth-test ~]# lsb_release -a
LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description: CentOS release 5.5 (Final)
Release: 5.5
Codename: FinalPS:我在堆栈过流上也问过同样的问题,因为我不知道该问什么。如果有人能指出哪一个是不相关的,我会删除。
在调试模式下运行nslcd显示,除非在nscd上执行stracing,否则守护进程甚至不会使用nslcd进行查询。简而言之,除非使用strace,否则根本不会触发查询。
发布于 2015-10-05 13:29:39
也许是SELinux - nslcd_selinux(8) -这将有助于解释在strace下运行时的行为差异(就像预期会出现setuid的进程一样)。
https://serverfault.com/questions/726771
复制相似问题