Mac OS X 10.9 Autenticação do servidor usando o OpenLDAP não funcionando

3

Eu tenho um servidor Debian que está executando o OpenLDAP versão 2.4.31, e agora estou tentando conectar meu servidor Mac OS X 10.9, para que eu possa autenticar usuários LDAP existentes. Conectei-os com êxito usando o utilitário de diretório e mapeei o registro de usuários para os valores retornados pelo servidor. Eu fiz os seguintes mapeamentos:

User: inetOrgPerson
    EmailAddress: mail
    FirstName: givenName
    LastName: sn
    Password: userPassword
    PrimaryGroupID: #5000
    RealName: cn
    RecordName: uid
    UniqueID: uidNumber
    GeneratedUID: mail

Eu posso autenticar com sucesso usando o Utilitário de Diretório e os serviços que são executados na rede local, como o Time Machine. No entanto, quando tento acessar qualquer serviço acessível pela Internet, como o Wiki Server ou o Xcode Server, a autenticação falha. Aqui está um log do meu OS X Server quando tentei entrar no Wiki:

Nov 29 21:06:55 osx.example.org collabd[437]: [CSAuthService.m:315 11d8d000 +269ms] Digest did not validate
Nov 29 21:06:55 osx.example.org collabd[437]: [CSServiceDispatcher.m:260 11d8d000 +0ms] Caught exception "Invalid Credentials" [CSAuthBadDigest] executing [http]Request{AuthService.validateUsernameAndPasswordDigest:remember:(<<scrubbed>>)}

E aqui está um segundo log de quando eu tentei entrar no Xcode Server:

Nov 29 21:23:27 osx.example.org collabd[437]: [CSAuthService.m:315 11b5a000 +95ms] Digest did not validate
Nov 29 21:23:27 osx.example.org collabd[437]: [CSServiceDispatcher.m:260 11b5a000 +0ms] Caught exception "Invalid Credentials" [CSAuthBadDigest] executing [http]Request{AuthService.sessionForDigest:remember:(Digest username="redacted",realm="osx.example.org",nonce="****",nc="*****",cnonce="***",qop="auth",algorithm=md5-sess,uri="/",response="***",0)}

Parece que está se conectando ao servidor LDAP, mas para quê? Enfim, aqui está o log do LDAP:

filter: (&(|(objectClass=inetOrgPerson))(|(uid=redacted)(cn=redacted)))
ber_scanf fmt ({M}}) ber:
...
bdb_dn2entry("dc=example,dc=org")
search_candidates: base="dc=example,dc=org" (0x00000001) scope=2
...
5298f51f => send_search_entry: conn 1001 dn="uid=redacted,ou=users,dc=example,dc=org"
ber_flush2: 183 bytes to sd 12
ldap_write: want=183, written=183
...
5298f51f <= send_search_entry: conn 1001 exit.
5298f51f send_ldap_result: conn=1001 op=3 p=3
5298f51f send_ldap_result: err=0 matched="" text=""
5298f51f send_ldap_response: msgid=4 tag=101 err=0
ber_flush2: 14 bytes to sd 12
ldap_write: want=14, written=14
  0000:  30 0c 02 01 04 65 07 0a  01 00 04 00 04 00         0....e........

Pelo que eu posso dizer, o servidor OS X solicita os registros do usuário no servidor LDAP, mas algo no lado do OS X não está funcionando corretamente. Alguém pode me dizer o que eu tenho que fazer para que a autenticação funcione? O problema poderia ser que o "reino" parece estar errado? O nome do host do servidor ldap é "example.org", mas o nome do host do servidor osx é "osx.example.org". Se o reino é realmente o problema, como eu mudo de osx.example.org para example.org?

    
por milch 29.11.2013 / 21:41

1 resposta

1

Sei que essa é uma pergunta antiga, mas tive o mesmo problema e acertei esse post em minhas viagens. Se isso ajuda você (ou outros), e para a posteridade, isso é o que eu tive que fazer para corrigir isso:

On the server, open the WebConfigProperties.plist file and change the attribute RealmAuthType from Digest to Basic. By default, the configuration files should be located at /Library/Server/Web/Config/apache2/.

Espero que isso ajude!

    
por 26.03.2014 / 14:07