質問: メールアカウントの管理をするために、 LDAPを用いたいと思っております。 OpenLDAPのインストールは完了し、 次に設定をおこないたいのですが、 エントリ登録がうまくできません。 現環境: * ドメイン名: local * LDAPサーバーホスト名: mailsvr-01.local * LDAPクライアントホスト名: mailcli-01.local LDAPクライアントホストに下記のユーザーがいる: * cliuser01 * cliuser02 この環境の場合に、 エントリ登録を書いてみたのですが、 下記のエラーが表示されてしまいます。 ``` ldap_bind: Invalid credentials (49) ``` なお、エントリ登録のldifファイルは下記になります: ``` # cat test1.ldif dn: dc=mailsvr-01,dc=local objectClass: dcObject objectclass: organization dc: mailsvr-01 o: mailsvr-01.local dn: cn=Manager,dc=mailsvr-01,dc=local objectClass: organizationalRole cn: Manager dn: ou=Users,dc=mailsvr-01,dc=local objectClass: organizationalUnit ou: Users dn: ou=Group,dc=mailsvr-01,dc=local objectClass: organizationalUnit ou: Group ``` 登録コマンド: ``` ldapadd -x -D "cn=Manager,dc=mailsvr-01,dc=local" -W -f test1.ldif ``` やりたいこととしては、LDAPサーバーでLDAPクライアントに存在する、 二つのユーザのメールアカウントを管理して、 メールアカウントのパスワード変更の際にも、LDAPを通じて認証を行うというものです。 以上、初歩的な質問ではありますが、よろしくお願いいたします。
回答: `Invalid credentials (49)` とのことなので、以下のいずれかが原因だと思われます。これを解消してください。 * `ldapadd`(1) に渡した `cn=Manager,dc=mailsvr-01,dc=local` のパスワードが間違っている。 * `cn=Manager,dc=mailsvr-01,dc=local` が `slapd.conf`(5) (あるいは `slapd-config`(5)) の `rootdn` (`olcRootDN`) に設定されていない、かつ LDAP DIT にも存在しない。 * `rootdn` (`olcRootDN`) に設定しているなら、`rootpw` (`olcRootPW`) が設定されていない、あるいは値がおかしい。 * LDAP DIT に存在するなら、そのエントリに `userPassword` 属性が付いていない、あるいは値がおかしい、あるいはパスワードポリシー(`slapo-ppolicy`(5))で無効化されている。 もしくは、書き込み権がある有効なユーザー+パスワード、あるいはローカルユーザー (ldapi で接続し SASL EXTERNAL) でバインドしてください。