
Eu tenho um servidor onde estou executando o nslcd para consultar um servidor AD e usá-lo para autorização, e isso está funcionando conforme o esperado. Agora, apresentei o nscd para reduzir a carga nos servidores AD. Os resultados são um pouco estranhos. Se eu estiver executando o processo nscd normalmente (como usuário nscd ou mesmo usuário root), o daemon não retornará nenhum resultado.
[root@ldap-auth-test ~]# id testuser1
id: testuser: No such user
Agora, para ver por que não está funcionando, tentei traçar o processo.
strace -p 8327 -f -s 1000
e simultaneamente, fiz um id em testuser1 novamente. Desta vez,
[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
Tentei várias vezes para ver se isso era coincidência e observei que não. Tentei não anexar aos threads e pude ver que o nscd não está funcionando quando não estou conectando aos threads. Qualquer ajuda é muito apreciada.
[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: Final
PS: Eu perguntei o mesmo emStackoverflowtambém, já que não tenho certeza de onde perguntar. Excluirei o irrelevante se alguém puder apontar qual é.
EDIT:: A execução do nslcd no modo de depuração mostrou que, a menos que seja rastreado no nscd, o daemon nem mesmo usa o nslcd para consultar. Resumindo, uma consulta não é disparada, a menos que seja usado strace.
Responder1
SELinux talvez - nslcd_selinux(8) - isso ajudaria a explicar uma diferença no comportamento ao executar sob strace (como faria um processo que esperava ser setuid)