LDAP server on FreeBSD

[ Nob's Home | FreeBSD ]

LDAP serverの構築です。

Information

What you need

compile

最初に cyrus-saslをinstallします。
$ tar zxvf cyrus-sasl-2.1.2.tar.gz
$ cd cyrus-sasl-2.1.2
$ ./configure
$ make
$ su root -c 'make install'

openldapをinstallします。
$ tar zxvf openldap-2.0.23.tgz
$ cd openldap-2.0.23
$ ./configure --enable-passwd
$ make depend
$ make
$ make test
$ su root -c 'make install'

設定

/usr/local/etc/openldap/slapd.conf を編集

include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema
を追加
access to *
        by self write
        by users read
        by anonymous auth
を有効に

suffix          "o=Makioka Hp,c=JP"
rootdn          "cn=root,o=Makioka Hp,c=JP"
rootpw          {CRYPT}*********
      これはhttp://k12linux.mesd.k12.or.us/ldap/encryptで作成した

slapdの起動

# /usr/local/libexec/slapd
で起動する。debugには -d 1 とする。

データの作成

牧丘病院を登録してみる。

$ vi makioka.ldf

dn: o=Makioka Hp,c=JP
objectclass: top
objectclass: organization
o: Makioka Hp

dn: ou=groups,o=Makioka Hp,c=JP
objectclass: organizationalUnit
ou: groups

dn: ou=people,o=Makioka Hp,c=JP
objectclass: organizationalUnit
ou: people


$ ldapadd -D "cn=root,o=Makioka Hp,c=JP" -W -f makioka.ldif 
Enter LDAP Password:
adding new entry "o=Makioka Hp,c=JP"

adding new entry "ou=groups,o=Makioka Hp,c=JP"

adding new entry "ou=people,o=Makioka Hp,c=JP"
確認してみる
$ ldapsearch -D "cn=root,o=Makioka Hp,c=JP"  -b "o=Makioka Hp,c=JP" "objectclass=*"
version: 2

#
# filter: objectclass=*
# requesting: ALL
#

# Makioka Hp, JP
dn: o=Makioka Hp,c=JP
objectClass: organization
o: Makioka Hp

# groups, Makioka Hp, JP
dn: ou=groups,o=Makioka Hp,c=JP
objectClass: organizationalUnit
ou: groups

# people, Makioka Hp, JP
dn: ou=people,o=Makioka Hp,c=JP
objectClass: organizationalUnit
ou: people

# search result
search: 2
result: 0 Success

# numResponses: 4
# numEntries: 3

となれば成功。

個人を登録

objectclassとして inetOrgPerson を使用する。

$ emacs member.ldif

dn: cn=MURATA Nobuhiro, o=Makioka Hp,c=JP
objectclass: inetOrgPerson
cn:MURATA Nobuhiro
cn:村田 暢宏
sn:MURATA
sn:村田
givenname:Nobuhiro
givenname:暢宏
uid:nob
userPassword:{CRYPT}***************
mail:nob@makioka.y-min.or.jp

EUCで保存しているので、lvでUTF-8に変換する。

makioka$ lv -Ou8 member.ldif | ldapadd -D 'cn=root,o=Makioka Hp,c=JP' -W
Enter LDAP Password:
adding new entry "cn=MURATA Nobuhiro, o=Makioka Hp,c=JP"

[ Nob's Home | FreeBSD ]

nob@makioka.y-min.or.jp