CentOS6 に open LDAPサーバをインスコ
めもめも
yum install openldap-servers
パッケージの中身をざっと覗いてみると
[root@cent6-64-38 ~]# rpm -ql openldap-servers | grep bin /usr/sbin/slapacl /usr/sbin/slapadd /usr/sbin/slapauth /usr/sbin/slapcat /usr/sbin/slapd /usr/sbin/slapdn /usr/sbin/slapindex /usr/sbin/slappasswd /usr/sbin/slapschema /usr/sbin/slaptest /usr/share/man/man5/slapo-pbind.5.gz [root@cent6-64-38 ~]#
オリジナルをバックアップした後、テンプレートファイル(DB_CONFIG,slapd.conf)をコピー
- slapd.confはopen LDAPの設定ファイル
- DB_CONFIGはBerkeley DBのバッファキャッシュの設定ファイル
[root@cent6-64-38 openldap-servers]# pwd /usr/share/openldap-servers [root@cent6-64-38 openldap-servers]# ls -ltr 合計 12 -rw-r--r--. 1 root root 921 4月 29 16:49 2013 DB_CONFIG.example -rw-r--r--. 1 root root 4635 4月 29 16:50 2013 slapd.conf.obsolete [root@cent6-64-38 openldap-servers]# ls -ltr /etc/openldap/ldap.conf ldap.conf ldap.conf.orig [root@cent6-64-38 openldap-servers]# cp -pr ./slapd.conf.obsolete /etc/openldap/slapd.conf [root@cent6-64-38 openldap-servers]# cp -pr DB_CONFIG.example /var/lib/ldap/DB_CONFIG [root@cent6-64-38 openldap-servers]#
slappasswdコマンドを使ってお好きなパスワードのハッシュをとり、slapd.confに貼り付ける
ちなみに slappasswdの-sのsはsecretのs
[root@cent6-64-38 openldap-servers]# slappasswd -s Yourpassword {SSHA}ou/m1Ykfg1ovoQvqMNeNrTu3leb+JVhJ [root@cent6-64-38 openldap]# cat /etc/openldap/slapd.conf | grep rootpw # rootpw secret # rootpw {crypt}ijFYNcSNctBYg rootpw {SSHA}ou/m1Ykfg1ovoQvqMNeNrTu3leb+JVhJ [root@cent6-64-38 openldap]#
[root@cent6-64-38 ~]# cat /etc/openldap/slapd.conf # # See slapd.conf(5) for details on configuration options. # This file should NOT be world readable. # #---------------------------------------------------------- # スキーマファイルの設定 #---------------------------------------------------------- include /etc/openldap/schema/corba.schema include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/duaconf.schema include /etc/openldap/schema/dyngroup.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/java.schema include /etc/openldap/schema/misc.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/openldap.schema include /etc/openldap/schema/ppolicy.schema include /etc/openldap/schema/collective.schema #---------------------------------------------------------- # 接続プロトコル #---------------------------------------------------------- allow bind_v2 #---------------------------------------------------------- # 管理ファイル #---------------------------------------------------------- pidfile /var/run/openldap/slapd.pid argsfile /var/run/openldap/slapd.args #---------------------------------------------------------- # TLS の設定 #---------------------------------------------------------- #TLSCACertificatePath /etc/openldap/cacerts/cacert.pem TLSCertificateFile /etc/openldap/certs/server.csr TLSCertificateKeyFile /etc/openldap/certs/server.key #---------------------------------------------------------- # アクセスコントロールの設定 #---------------------------------------------------------- #--- userPassword に対するアクセス制限 # 自分自身は書き換え可能 # Manager は書き換え可能 # 匿名接続ならば、認証したときにこの属性が使える # その他のアクセスの際は何もできない access to attrs=userPassword by self write by dn="cn=Manager,dc=hirasawa,dc=local" write by anonymous auth by * none #--- その他の属性に対するアクセス制限 # 自分自身は書き換え可能 # Manager は書き換え可能 # その他のアクセスの際はread のみ可能 access to * by self write by dn="cn=Manager,dc=hirasawa,dc=local" write by * read #--- monitor データベースに対するアクセス制限 # Manager は read のみ可能 # その他のアクセスの際は何もできない # 確認コマンド ldapsearch -x -D "cn=Manager,dc=hirasawa,dc=local" -W + database monitor access to * by dn.exact="cn=Manager,dc=hirasawa,dc=local" read by * none #---------------------------------------------------------- # データーベースの設定 #---------------------------------------------------------- # database バックエンドデータベースの形式 # suffix ベースDN # checkpoint トランザクションログのチェックポイント設定 <kbyte> <min> # rootdn 管理者 # rootpw 管理者のパスワード(slappasswdコマンドで作成) # directory Database directory, Mode 700 recommended. database bdb suffix "dc=hirasawa,dc=local" checkpoint 1024 15 rootdn "cn=Manager,dc=hirasawa,dc=local" rootpw {SSHA}ou/m1Ykfg1ovoQvqMNeNrTu3leb+JVhJ directory /var/lib/ldap #---------------------------------------------------------- # indexの設定 # eq:等価性 pres:存在 sub:部分文字列 # indexの設定を変更したら、indexの再構築が必要 # slapindex -v -b "dc=hirasawa,dc=local" -f slapd.conf #---------------------------------------------------------- index objectClass eq,pres index ou,cn,mail,surname,givenname eq,pres,sub index uidNumber,gidNumber,loginShell eq,pres index uid,memberUid eq,pres,sub index nisMapName,nisMapEntry eq,pres,sub [root@cent6-64-38 ~]#
設定ファイルのテスト
- -uはドライラン
- -vはverbose
- -f slapd.conf の指定(ldap.confぢゃないのか?)
- -F conf dir
[root@cent6-64-38 certs]# slaptest -u -v -f /etc/openldap/ldap.conf config file testing succeeded [root@cent6-64-38 certs]# slaptest -f /etc/openldap/ldap.conf -F /etc/openldap/slapd.d/ config file testing succeeded [root@cent6-64-38 certs]#
/etc/の下はこんな感じになっています
[root@cent6-64-38 openldap]# pwd /etc/openldap [root@cent6-64-38 openldap]# find . . ./ldap.conf ./slapd.conf ./certs ./certs/key3.db ./certs/cert8.db ./certs/password ./certs/secmod.db ./slapd.d ./slapd.d/cn=config ./slapd.d/cn=config/olcDatabase={-1}frontend.ldif ./slapd.d/cn=config/olcDatabase={1}monitor.ldif ./slapd.d/cn=config/cn=schema ./slapd.d/cn=config/cn=schema/cn={11}collective.ldif ./slapd.d/cn=config/cn=schema/cn={10}ppolicy.ldif ./slapd.d/cn=config/cn=schema/cn={5}inetorgperson.ldif ./slapd.d/cn=config/cn=schema/cn={6}java.ldif ./slapd.d/cn=config/cn=schema/cn={4}dyngroup.ldif ./slapd.d/cn=config/cn=schema/cn={7}misc.ldif ./slapd.d/cn=config/cn=schema/cn={9}openldap.ldif ./slapd.d/cn=config/cn=schema/cn={8}nis.ldif ./slapd.d/cn=config/cn=schema/cn={0}corba.ldif ./slapd.d/cn=config/cn=schema/cn={3}duaconf.ldif ./slapd.d/cn=config/cn=schema/cn={1}core.ldif ./slapd.d/cn=config/cn=schema/cn={2}cosine.ldif ./slapd.d/cn=config/cn=schema.ldif ./slapd.d/cn=config/olcDatabase={0}config.ldif ./slapd.d/cn=config/olcDatabase={2}bdb.ldif ./slapd.d/cn=config.ldif ./ldap.conf.example ./schema ./schema/core.ldif ./schema/collective.schema ./schema/inetorgperson.ldif ./schema/nis.schema ./schema/nis.ldif ./schema/pmi.schema ./schema/duaconf.schema ./schema/ppolicy.schema ./schema/cosine.schema ./schema/samba.schema ./schema/java.schema ./schema/corba.schema ./schema/openldap.ldif ./schema/openldap.schema ./schema/core.schema ./schema/dyngroup.schema ./schema/dhcp.schema ./schema/misc.schema ./schema/inetorgperson.schema ./schema/cosine.ldif [root@cent6-64-38 openldap]#
hisotryを晒しておしまい
1003 slaptest -u -v -f /etc/openldap/slapd.conf 1012 slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/ 1013 history
こちらを参考にさせていただきました
http://qiita.com/tags/openldap
http://qiita.com/mykysyk@github/items/25e6adbfdb313afaf339
http://www.upken.jp/kb/openldap.html