Apache autentica contra AD - alguns usam DOMAIN \\ username, outros username

1

Eu tenho a configuração Request Tracker em um servidor Ubuntu 12.04. Está configurado para autenticar no diretório ativo através do winbind.

Aqui está a parte relevante da configuração do apache2:

    AuthType NTLM
    AuthType Negotiate
    AuthName "Request Tracker"
    NTLMAuth on
    NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp"
    NegotiateAuth on
    NegotiateAuthHelper "/usr/bin/ntlm_auth --helper-protocol=gss-spnego"

O rastreador de solicitações corresponde ao nome de usuário do apache autenticado em relação a seus próprios usuários e os registra automaticamente. O site está na zona de intranet do Internet Explorer, para que ele registre as pessoas automaticamente. Ele funciona perfeitamente para a maioria das pessoas. Nos logs de acesso do apache, ele mostra o nome de usuário da pessoa que efetuou login para cada solicitação.

Mas de dois de nossos computadores, o Rastreador de solicitações não pode corresponder o nome de usuário a uma conta. E olhando para os logs do Apache, é óbvio porque - ao tentar fazer login a partir desse computador, o nome de usuário dos registros do Apache é DOMAIN\username , não apenas username .

O Apache autenticou-os bem - mas com o nome de usuário inesperadamente formatado.

Não importa quem faz login nesses computadores, o login é registrado como DOMAIN\username .

Tanto quanto eu posso dizer, o problema dos computadores não tem nada de especial sobre eles. Eles foram implantados a partir da mesma imagem, têm as mesmas políticas de grupo, mesmas atualizações do Windows, a mesma versão do IE (9) como trabalhando.

O que poderia causar a diferença na maneira como o nome de usuário é formatado?

Edit: como pode estar relacionado ao samba, aqui está a parte relevante do smb.conf:

[global]
security = ads
realm = STLEONARDS.LOCAL
password server = *
workgroup = STLEONARDS
winbind enum users = yes
winbind enum groups = yes
winbind nested groups = yes
winbind refresh tickets = yes
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
client ntlmv2 auth = yes
encrypt passwords = true
winbind use default domain = yes
restrict anonymous = 2
valid users = @"Domain Users"
idmap uid = 70000-100000
idmap gid = 70000-100000

Eu tentei alterar winbind use default domain para no , mas isso não fez nenhuma diferença.

    
por Grant 20.02.2014 / 16:03

1 resposta

0

Parece que o problema foi com a opção de autenticação Negociar. Remover as 3 linhas para negociar fez com que todos os usuários conseguissem fazer o login, e os registros do servidor web mostravam o nome de usuário simples.

Eu não sei porque alguns computadores escolheram o NTLM e outros não. Mas com apenas autenticação NTLM tudo funciona bem.

    
por 26.02.2014 / 22:56