OpenLDAPのインストールとユーザ情報の移行
作業メモ。
OpenLDAPのインストール
- 依存パッケージのインストール
$ suda aptitude install libc6 libdb4.6 libdb4.6-dev db4.6-util libgnutls26 libltdl3 libsasl2-2 libslp1 libwrap0 unixodbc coreutils psmisc
- インストール
$ wget ftp://ftp.dti.ad.jp/pub/net/OpenLDAP/openldap-release/openldap-2.4.21.tgz $ tar -xzvf openldap-2.4.21.tgz $ openldap-2.4.21 $ LDFLAGS=-L/usr/lib64 ./configure --prefix=/usr/local/openldap-2.4.21 --enable-crypt=yes --enable-overlays=yes $ make depend $ make $ make test $ sudo make install $ file /usr/local/openldap-2.4.21/libexec/slapd /usr/local/openldap-2.4.21/libexec/slapd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped $ cd /usr/local $ sudo ln -s openldap-2.4.21 openldap
(2010/01/22 訂正)
configure時の--enable-overlaysは、yesをつけた方がいいかも。
ということで、訂正しました。
- 起動用ユーザの作成
$ sudo groupadd -g 110 ldap $ sudo useradd -u 110 -g ldap -s /bin/false ldap $ cd /usr/local/openldap-2.4.21 $ sudo chown root:ldap etc/openldap/slapd.conf $ sudo chmod g+r etc/openldap/slapd.conf $ sudo chown ldap:ldap -R var
- 設定
##
# /usr/local/openldap-2.4.21/etc/openldap/slapd.conf
##
include /usr/local/openldap-2.4.21/etc/openldap/schema/core.schema
include /usr/local/openldap-2.4.21/etc/openldap/schema/cosine.schema
include /usr/local/openldap-2.4.21/etc/openldap/schema/inetorgperson.schema
include /usr/local/openldap-2.4.21/etc/openldap/schema/nis.schemapidfile /usr/local/openldap-2.4.21/var/run/slapd.pid
argsfile /usr/local/openldap-2.4.21/var/run/slapd.argsloglevel 2048
access to *
by self write
by users read
by anonymous authdatabase bdb
suffix "dc=my-domain,dc=com"
rootdn "cn=Manager,dc=my-domain,dc=com"
rootpw {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
directory /usr/local/openldap-2.4.21/var/openldap-dataindex 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
##
# /etc/rsyslog.conf
# 設定追加
##
local4.* /usr/local/openldap-2.4.21/var/log/slapd.log
$ cd /usr/local/openldap-2.4.21 $ sudo cp -p var/openldap-data/DB_CONFIG.example var/openldap-data/DB_CONFIG $ sudo mkdir -p var/log
- 起動
$ sudo /usr/local/openldap-2.4.21/sbin/slaptest -u config file testing succeeded $ sudo /usr/local/openldap-2.4.21/libexec/slapd -u ldap
エントリの追加
- DCとOUの追加
##
# createDcOu.ldif
##
dn: dc=my-domain,dc=com
objectClass: dcObject
objectClass: organization
dc: my-domain
o: my-domaindn: cn=Manager,dc=my-domain,dc=com
objectclass: organizationalRole
cn: Managerdn: ou=People,dc=my-domain,dc=com
objectClass: organizationalUnit
ou: Peopledn: ou=Group,dc=my-domain,dc=com
objectClass: organizationalUnit
ou: Group
$ sudo /usr/local/openldap/bin/ldapadd -x -D 'cn=Manager,dc=my-domain,dc=com' -W -f createDcOu.ldif
ユーザ情報の移行
- 移行ツールのインストール・設定
$ sudo aptitude install migrationtools $ cd /usr/share/migrationtools $ diff migrate_common.ph.org migrate_common.ph 71c71 < $DEFAULT_MAIL_DOMAIN = "padl.com"; --- > $DEFAULT_MAIL_DOMAIN = "my-domain.com"; 74c74 < $DEFAULT_BASE = "dc=padl,dc=com"; --- > $DEFAULT_BASE = "dc=my-domain,dc=com";
- 登録用LDIFの作成
$ sudo grep :1[0-9][0-9][0-9] /etc/passwd > user.list $ sudo grep :1[0-9][0-9][0-9] /etc/group > group.list $ sudo /usr/share/migrationtools/migrate_passwd.pl user.list > user.ldif $ sudo /usr/share/migrationtools/migrate_group.pl group.list > group.ldif
- ユーザ情報の移行
$ sudo /usr/local/openldap/bin/ldapadd -x -D 'cn=Manager,dc=my-domain,dc=com' -W -f user.ldif $ sudo /usr/local/openldap/bin/ldapadd -x -D 'cn=Manager,dc=my-domain,dc=com' -W -f group.ldif