Apache Directory Studio を利用してOpenLDAPに登録したユーザにmail属性を追加。→失敗。 objectClassに「inetOrgPerson」を指定すればmail属性を追加可能。 ユーザを再作成して、再びBasic認証できるまでの手順をまとめます。 【OpenLDAPサーバ】 OS: CentOS 6.3(64-bit) openldap-servers: 2.4.23-26.el6_3.2 hostname: openldap IP: 192.168.77.146 【Webサーバ】 OS: CentOS 6.3(64-bit) Apache: 2.2.15 hostname: web03 IP: 192.168.77.147
■mail属性追加
Apache Directory Studioで前回作成したユーザにmail属性追加
警告発生!そのまま進めてみるも・・・。
エラー発生!!現在使用しているobjectClass(account、posixAccount)にはmail属性を定義できないようだ。
っということで、このユーザ(en2011001)はいったん削除。
■mail属性を使用するためにobjectClassにinetOrgPersonを指定してユーザ再作成
objectClassにinetOrgPersonを指定するとその他のobjectClassは自動的に追加される。
■OpenLDAPサーバで作成したユーザを確認
[root@openldap ~]# ldapsearch -x -h localhost -b "cn=en2011001,ou=unit01,dc=open_ldap,dc=com"
# extended LDIF
#
# LDAPv3
# base with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# en2011001, unit01, open_ldap.com
dn: cn=en2011001,ou=unit01,dc=open_ldap,dc=com
sn:: 56aP5rKi
cn: en2011001
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
givenName:: 6Kut5ZCJ
userPassword:: e1NTSEF9UGN4eHNTakF4U0ltQXB2ZXdaZXNBeUp6cyt4TG5odHNBMXJNaFE9PQ=
=
mail: yukichi@open_ldap.com
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
[root@openldap ~]#
■WebサーバBasic認証設定変更
使用するobjectClassがaccount→personに変更、ユーザIDがuid→snに変更となるためhttpd.confを修正する。
[root@web03 ~]# vi /etc/httpd/conf/httpd.conf
[root@web03 ~]# tail -8 /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/unit01/">
AuthName "UserID/Password"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://192.168.77.146:389/ou=unit01,dc=open_ldap,dc=com?cn?sub?(objectClass=person)
Require valid-user
</Directory>
[root@web03 ~]# /etc/init.d/httpd restart
※表示の都合上タグを"<"と">"で記載。■ブラウザで確認
http://192.168.77.147/unit01/
0 件のコメント:
コメントを投稿