Solaris11 で Openldap

Solaris11 に入っている openldap を使うための手順を簡単に紹介します。
とりあえず、何もしないで起動してみます。

#svcs svc:/network/ldap/server:openldap_24
STATE          STIME    FMRI
disabled       10:23:35 svc:/network/ldap/server:openldap_24

#svcadm -v enable svc:/network/ldap/server:openldap_24
svc:/network/ldap/server:openldap_24 enabled.

#svcs svc:/network/ldap/server:openldap_24
STATE          STIME    FMRI
maintenance     2:06:57 svc:/network/ldap/server:openldap_24
と失敗していますので、ログをチェックします。
#cat /var/svc/log/network-ldap-server:openldap_24.log
[ May 28 02:06:57 Enabled. ]
[ May 28 02:06:57 Executing start method ("/lib/svc/method/ldap-olslapd start")
. ]
/lib/svc/method/ldap-olslapd[30]: exec: /usr/lib/slapd: cannot execute 
[Permission denied]
[ May 28 02:06:57 Method "start" exited with status 126. ]
slapd の実行パーミッションがないというエラーです。実際見てみると、確かに実行できません。
#ls -l /usr/lib/slapd
-r--r--r--   1 root     bin      2555316 Oct 20  2011 /usr/lib/slapd
パーミッションを変更して、サービスを起動しなおしますがまた起動失敗となります。
#svcs svc:/network/ldap/server:openldap_24
STATE          STIME    FMRI
maintenance     2:11:06 svc:/network/ldap/server:openldap_24

#cat /var/svc/log/network-ldap-server:openldap_24.log 
[ May 28 02:10:55 Leaving maintenance because disable requested. ]
[ May 28 02:10:55 Disabled. ]
[ May 28 02:11:05 Enabled. ]
[ May 28 02:11:05 Executing start method ("/lib/svc/method/ldap-olslapd start").
 ]
[ May 28 02:11:06 Method "start" exited with status 1. ]
これだけだと分かりにくいのですが、status 1 ということで起動できていません。
そこで /lib/svc/method/ldap-olsapd と /etc/openldap/slapd.conf の下の方をみてみると、、(下は一部抜粋です)
[ldap-olsapd]
            :
typeset -r LDAPUSR=openldap
typeset -r LDAPGRP=openldap
            :
typeset -r SLAPD="/usr/lib/slapd -u ${LDAPUSR} -g {LDAPGRP} -f ${CONF_FILE}"
            :
[slapd.conf]
            :
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory    /var/openldap/openldap-data 
            :
とあり、database directory の /var/openldap/openldap-data にユーザーopenldap、グループopenldapで書き込み できるようになっている必要があります。ここを見てみると、
ls -la /var/openldap             
total 14
drwxr-xr-x   4 root     bin            4 Oct 20  2011 .
drwxr-xr-x  42 root     sys           43 Nov  3  2011 ..
drwxr-xr-x   2 root     bin            3 Nov  3  2011 openldap-data
drwxr-xr-x   2 root     bin            2 Oct 20  2011 run
このようにディレクトリが openldap ユーザで書き込みできないようになっています。
このディレクトリの Owner/Group を変更して再度サービスを起動します。
# chown -R openldap:openldap openldap
# svcs svc:/network/ldap/server:openldap_24
STATE          STIME    FMRI
online          4:56:54 svc:/network/ldap/server:openldap_24

以上、無事起動することができました!

投稿されたコメント:

コメント
コメントは無効になっています。
About

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日