web-dev-qa-db-ja.com

OpenLDAPを使用したMacOS X10.9サーバー認証が機能しない

OpenLDAPバージョン2.4.31を実行しているDebianサーバーがあり、既存のLDAPユーザーを認証できるように、Mac OS X10.9サーバーに接続しようとしています。ディレクトリユーティリティを使用してそれらを正常に接続し、ユーザーレコードをサーバーから返された値にマップしました。次のマッピングを行いました。

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

ディレクトリユーティリティと、Time Machineなどのローカルネットワークで実行されるサービスを使用して、正常に認証できます。ただし、WikiサーバーやXcodeサーバーなど、インターネットからアクセスできるサービスにアクセスしようとすると、認証が失敗します。 WikiにログインしようとしたときのOSXServerからのログは次のとおりです。

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>>)}

Xcodeサーバーにログインしようとしたときの2番目のログは次のとおりです。

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)}

LDAPサーバーに接続しているようですが、どうすればよいですか?とにかく、ここに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........

私の知る限り、OS XサーバーはLDAPサーバーにユーザーレコードを要求しますが、OSX側の何かが正しく機能していません。認証が機能するために私がしなければならないことを誰かに教えてもらえますか?問題は、「レルム」が間違っているように見えることでしょうか? LDAPサーバーのホスト名は「example.org」ですが、osxサーバーのホスト名は「osx.example.org」です。レルムが実際に問題である場合、それをosx.example.orgからexample.orgに変更するにはどうすればよいですか?

3
milch

これは古い質問だと思いますが、同じ問題があり、旅行中にこの投稿にヒットしました。それがあなた(または他の人)を助け、後世のために、これは私がそれを修正するためにしなければならなかったことです:

サーバーで、WebConfigProperties.plistファイルを開き、属性RealmAuthTypeをDigestからBasicに変更します。デフォルトでは、構成ファイルは/ Library/Server/Web/Config/Apache2 /にあります。

お役に立てれば!