apache ntlm_auth permission denied

Há alguns posts eu mostrei uma configuração de SELINUX para permitir a conexão em rede do apache quando este está utilizando proxy AJP com SELINUX ligado, hoje vou mostrar uma dica similar.

Em um recém instalado CentOS 6.x eu estava trabalhando com a autenticação NTLM com WINBIND e recebi o seguinte erro nos logs do apache httpd.

[Thu Jul 24 13:09:13 2014] [error] [client 10.10.2.55] (13)Permission denied: couldn't spawn child ntlm helper process: /usr/bin/ntlm_auth
[Thu Jul 24 13:09:13 2014] [error] [client 10.10.2.55] (13)Permission denied: couldn't spawn child ntlm helper process: /usr/bin/ntlm_auth

Ao consultar o log audit do selinux também encontrava uma restrição.

type=AVC msg=audit(1406218179.251:2302): avc:  denied  { read open } for  pid=24206 comm="httpd" name="ntlm_auth" dev=dm-0 ino=16475 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:winbind_helper_exec_t:s0 tclass=file
type=SYSCALL msg=audit(1406218179.251:2302): arch=c000003e syscall=59 success=yes exit=0 a0=7f81190eceb8 a1=7f81190ecea0 a2=7fffc633ddb0 a3=7fffc633daf0 items=0 ppid=23043 pid=24206 auid=511 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=316 comm="ntlm_auth" exe="/usr/bin/ntlm_auth" subj=unconfined_u:system_r:httpd_t:s0 key=(null)

Para contornar o problema de forma definitiva é necessário informar ao selinux que esse tipo de autenticação está permitida no sistema.

setsebool -P allow_httpd_mod_auth_ntlm_winbind 1

Com isso, sua autenticação irá funcionar.

[s]
Guto