nscd funciona quando o strace está anexado ao processo

nscd funciona quando o strace está anexado ao processo

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)

informação relacionada