とちゅう

今では非推奨となっている「Berkeley DB」(bdb形式)をバックエンドとして運用されているopenLDAPサーバがある.
hdbは「Berkeley DB」の改良型
これをopenLDAPを最新にして、かつ既定のLightning Memory-Mapped Database ベースの「mdb」に切り替えたい.

具体的にはCentOS6のopenLDAP-2.4.19からopenLDAP-2.4.40に上げたい

CentOS6.0で openLDAP-2.4.19 の構築

CentOS6はサポート終了なのでyum関係はリポジトリを「vault.centos.org」様へ変更する. 今後は「archive.kernel.org」様かな
っがここでは単発アプリの検証なので、必要なパッケージをcurlで取得、インストします

[root@centos6 ~]# cat /etc/redhat-release
CentOS Linux release 6.0 (Final)
 
[root@centos6 ~]# curl -O https://vault.centos.org/6.0/os/x86_64/Packages/openldap-servers-2.4.19-15.el6.x86_64.rpm
[root@centos6 ~]# curl -O https://vault.centos.org/6.0/os/x86_64/Packages/libtool-ltdl-2.2.6-15.5.el6.x86_64.rpm
 
[root@centos6 ~]# yum localinstall ./openldap-servers-2.4.19-15.el6.x86_64.rpm ./libtool-ltdl-2.2.6-15.5.el6.x86_64.rpm

あとsambaも入れる
っで次は構築. 「slapd.conf」を作って パスワードは面倒なので平文

[root@centos6 ~]# /usr/sbin/slapd -VV
@(#) $OpenLDAP: slapd 2.4.19 (Nov 11 2010 23:13:59) $
        mockbuild@c6b4.bsys.dev.centos.org:/builddir/build/BUILD/openldap-2.4.19/openldap-2.4.19/build-servers/servers/slapd
 
[root@centos6 ~]# ls -l /etc/openldap/
total 24
drwxr-xr-x. 2 root root 4096 Nov 12  2010 cacerts
-rw-r--r--. 1 root root  246 Nov 12  2010 ldap.conf
drwxr-xr-x. 3 root root 4096 Nov 21 09:05 schema
-rw-r-----. 1 root ldap 4327 Nov 12  2010 slapd.conf.bak
drwx------. 3 ldap ldap 4096 Nov 21 09:05 slapd.d
 
[root@centos6 ~]# cp /etc/openldap/slapd.conf.bak /etc/openldap/slapd.conf
[root@centos6 ~]# vi /etc/openldap/slapd.conf
 
[root@centos6 ~]# grep -v -e '^\s*#' -e '^\s*$' /etc/openldap/slapd.conf
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/samba.schema
pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args
modulepath      /usr/lib64/openldap
database        bdb
suffix          "dc=sybyl,dc=lab"
checkpoint      1024 15
rootdn          "cn=manager,dc=sybyl,dc=lab"
rootpw          secret
directory       /var/lib/ldap
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
access to attrs=userPassword,shadowLastChange,sambaNTPassword,sambaLMPassword,sambaPwdMustChange,sambaPwdLastSet
        by anonymous auth
        by self write
        by * none
access to dn.base="" by * read
access to *
        by self write
        by * read
 
[root@centos6 ~]#
 
(slapd.confの構文チェック)
[root@centos6 ~]# slaptest -f /etc/openldap/slapd.conf -u
config file testing succeeded
[root@centos6 ~]#

「by dn="cn=manager,dc=sybyl,dc=lab" write」を入れると「rootdn is always granted unlimited privileges.」と言われる
っで

[root@centos6 ~]# rm -rf /etc/openldap/slapd.d/*
[root@centos6 ~]# rm -rf /var/lib/ldap/*
 
[root@centos6 ~]# cp -a /usr/share/doc/openldap-servers-2.4.19/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
[root@centos6 ~]# echo "" | slapadd -f /etc/openldap/slapd.conf
[root@centos6 ~]# ls -l /var/lib/ldap
total 19844
-rw-r--r--. 1 root root      2048 Nov 22 01:00 alock
-rw-------. 1 root root     24576 Nov 22 01:00 __db.001
-rw-------. 1 root root  17629184 Nov 22 01:00 __db.002
-rw-------. 1 root root 335552512 Nov 22 01:00 __db.003
-rw-------. 1 root root   2359296 Nov 22 01:00 __db.004
-rw-------. 1 root root    802816 Nov 22 01:00 __db.005
-rw-------. 1 root root     32768 Nov 22 01:00 __db.006
-rw-r--r--. 1 root root       921 Nov 12  2010 DB_CONFIG
-rw-------. 1 root root      8192 Nov 22 01:00 dn2id.bdb
-rw-------. 1 root root     32768 Nov 22 01:00 id2entry.bdb
-rw-------. 1 root root  10485760 Nov 22 01:00 log.0000000001
 
[root@centos6 ~]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
config file testing succeeded
[root@centos6 ~]# ls -l /etc/openldap/slapd.d
total 8
drwxr-x---. 3 root root 4096 Nov 22 01:01 cn=config
-rw-------. 1 root root  988 Nov 22 01:01 cn=config.ldif
 
[root@centos6 ~]# chown -R ldap. /etc/openldap/slapd.d
[root@centos6 ~]# chmod 700 /etc/openldap/slapd.d
 
[root@centos6 ~]# chown -R ldap. /var/lib/ldap
[root@centos6 ~]# chmod 700 /var/lib/ldap

開始

[root@centos6 ~]# service slapd start
Starting slapd:                                            [  OK  ]
[root@centos6 ~]#

この後、ldif経由でデータを流し込むと下記のようになる
2022y11m22d_012007734.png

また他のsmbマシンを噛ませて下記のようにした
2022y11m22d_020001548.png

っでこのような状態、bdbからmdbにしてみる.

既存データの抜き取り

LDAP/backupのslapcatコマンドでデータを抜き取る

[root@centos6 ~]# slapcat -b dc=sybyl,dc=lab | ssh root@centos6-mdb "cat > `date '+%Y%m%d-%H%M%S'`.ldap_data.ldif"
 
(中身確認)
[root@centos6 ~]# slapcat -b dc=sybyl,dc=lab | head -n 5
dn: dc=sybyl,dc=lab
objectClass: top
objectClass: dcObject
objectClass: organization
dc: sybyl
[root@centos6 ~]#

次に「cn=config」を取る

[root@centos6 ~]# slapcat -b cn=config | ssh root@centos6-mdb "cat > `date '+%Y%m%d-%H%M%S'`.ldap_config.ldif"
 
(中身確認)
[root@centos6 ~]# slapcat -b cn=config | head -n 5
dn: cn=config
objectClass: olcGlobal
cn: config
olcConfigFile: /etc/openldap/slapd.conf
olcConfigDir: /etc/openldap/slapd.d
slapcat: error writing output.
[root@centos6 ~]#

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2022-11-23 (水) 02:11:28 (5d)