ハードウェア
qjoho24およびハードディスクを使用した
- MotherBoard: ASUS P4B533
- CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz
- Memory: 640Mbyte (512M+128M)
- NIC: Planex FNW-9800-T (tulip)
- HDD: Seagate ST380011A (Barracuda 7200.7 80Gbyte)
OSインストール
- Debian Linux 32 bit 版を入れる
- 一時的に e100 をPCIにインストールする. bios の設定で NIC から起動して,HDD にOSを入れ, 終わったら外す
- tasksel では gnome を外して ssh を入れる
- exim4, sshd, cron 等は標準端末にしたがって適切に設定
slapdの設定
インストール
- apt-get install slapd ldap-utils autofs5-ldap
- domain は jupiter.hokudai.in-cps とする
- 管理者パスワードは適当に入れる。
設定
- /etc/ldap/ldap.conf を設定
BASE dc=jupiter,dc=hokudai,dc=in-cps URI ldap://ldap.hokudai.in-cps
- cps.schema を 作成する
attributetype (1.1.2.1.1.1 NAME 'mailForward' DESC 'forward address' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) attributetype (1.1.2.1.1.2 NAME 'mailAlias' DESC 'alias address' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) attributetype (1.1.2.1.1.4 NAME 'mailDir' DESC 'path of mailDir' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype (1.1.2.1.1.7 NAME 'accountActive' DESC 'active or not active' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE) attributetype (1.1.2.1.1.12 NAME 'lastName' DESC 'user lastName' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE) attributetype (1.1.2.1.1.13 NAME 'firstName' DESC 'user firstName' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE) objectClass (1.1.2.2.1.2 NAME 'userAccount' DESC 'mail user Object' SUP top AUXILIARY MUST ( accountActive ) MAY ( mail $ mailDir $ mailForward $ mailAlias $ lastName $ firstName))
- slapd.confを作成する
- 編集元は lenny の Debian からコピーする
- 変更点のみ書くと以下
allow bind_v2 include /etc/ldap/schema/cps.schema include /etc/ldap/schema/autofs.schema sizelimit 10000 suffix "dc=jupiter,dc=hokudai,dc=in-cps" rootdn "rootdn をここに書く" rootpw `slappasswd -s パスワード` の出力をここに書く index default pres,eq index objectClass,uid,uidNumber,cn,gidNumber,accountActive,mailDir,mail access to attrs=userPassword,shadowLastChange by self write by anonymous auth by dn="rootdn をここに書く" by * none access to * by self write by dn="rootdn をここに書く" write by * read
- 以下を順に実行する
# cd /etc/ldap # /etc/init.d/slapd stop # rm -rf /var/lib/ldap/* # mv slapd.d slapd.d.old # slaptest -f slapd.conf -F slapd.d # chown -R openldap:openldap slapd.d # slapd -d -1 ^C # rm -rf slapd.d # mkdir slapd.d # slaptest -f slapd.conf -F slapd.d # chown -R openldap:openldap slapd.d # /etc/init.d/slapd start
jupiter の設定
- /etc/ldap/slapd.conf に追加
moduleload syncprov.la overlay syncprov serverID 1 syncrepl rid=001 provider=ldap://10.0.1.2 bindmethod=simple binddn=[rootdn をかく] credentials=[rootpw をかく] searchbase="dc=jupiter,dc=hokudai,dc=in-cps" schemachecking=on type=refreshAndPersist retry="10 +" syncrepl rid=002 provider=ldap://10.0.16.24 bindmethod=simple binddn=[rootdn を書く] credentials=[rootpw をかく] searchbase="dc=jupiter,dc=hokudai,dc=in-cps" schemachecking=on type=refreshAndPersist retry="10 +" mirrormode on
qjoho24 の設定
- /etc/ldap/slapd.conf に追加
moduleload syncprov.la overlay syncprov serverID 2 syncrepl rid=001 provider=ldap://10.0.1.2 bindmethod=simple binddn=[rootdn をかく] credentials=[rootpw をかく] searchbase="dc=jupiter,dc=hokudai,dc=in-cps" schemachecking=on type=refreshAndPersist retry="10 +" syncrepl rid=002 provider=ldap://10.0.16.24 bindmethod=simple binddn=[rootdn を書く] credentials=[rootpw をかく] searchbase="dc=jupiter,dc=hokudai,dc=in-cps" schemachecking=on type=refreshAndPersist retry="10 +" mirrormode on
設定の適用
認証データのダンプ
jupiter# ldapsearch -xLLL -D'cn=admin,dc=jupiter,dc=hokudai,dc=in-cps' -W > ldap.ldif
設定のクリア
両方で以下を同時に実行
# cd /etc/ldap # /etc/init.d/slapd stop # rm -rf slapd.d/* # ldaptest -f slapd.conf -F slapd.d # chown -R openldap:openldap slapd.d
確認
デバッグ起動
両方で同時に実行する
# slapd -d -1
/var/log/syslog を tail して normal 状態になるまで待つ
認証データの復帰
ダンプしたデータを元に戻す
jupiter# ldapadd -h localhost -x -D'cn=admin,dc=jupiter,dc=hokudai,dc=in-cps' -W -f ldap.ldif
qjoho24 で確認
qjoho24# slapcat
ldapadd の前後で出力が変化したかを見る
だめなら両方で slapd を止めて rm -rf /var/lib/ldap/* して何もなかったことにして、最初からやり直し
うまくいったら slapd -d -1 を ctrl-C で止めて, /etc/init.d/slapd start で slapd を通常起動する
DNS の設定
/var/cache/bind/zones.hokudai.in-cps に追加
ldap 1h IN A 10.0.1.2 ldap 1h IN A 10.0.16.24
クライアントの設定
- /etc/ldap/ldap.conf の URI を変更
URI ldap://ldap.hokudai.in-cps
- /etc/pam_ldap.conf と /etc/libnss-ldap.conf の uri を変更
uri ldap://ldap.hokudai.in-cps