FIELD NOTES: 書を持って街へ出よう

合同会社フィールドワークス プログラマ兼代表のブログ

Samba+LDAP設定メモ

Samba LDAP連携の設定をしていて,いくつかハマったのでメモを残しておく。

Mac OS X 10.5 (Leopard)にSambaとLDAPの設定を行うことで,poor man's Mac OS X Serverとして使用している。openldapMac OSオリジナルのものを使用し,Sambaはmacportsで追加インストールした。

indexの再構築

slapd.confのindexの設定を変更したら,インデックスの再構築を明示的に行ったほうがよさそう。
Samba関係のインデックスを追加したらドメイン・ログオンができなくなってしまい焦った。
slapdのプロセスを止めた上で,以下のコマンドを実行する。

# slapindex -v

NFSのautomount設定

ホームディレクトリの共有には,NFSを使用している。
以下のページを参考に,LDAPの設定を行った。

http://lowendmac.com/ed/winston/09kw/automount-openldap.html

これで,Mac OS X クライアントのホームディレクトリ共有はうまくいったが,Windowsのログオンを行うと何故かslapdのログファイルに以下のようなメッセージが出続けるという現象が発生した。

Nov 21 10:45:25 fwsv02 slapd[51]: conn=2 op=12015 SEARCH RESULT tag=101 err=0 nentries=1 text=
Nov 21 10:45:25 fwsv02 slapd[51]: conn=2 op=12016 ABANDON msg=12016
Nov 21 10:45:25 fwsv02 slapd[51]: conn=2 op=12017 SRCH base="ou=mounts,dc=xxx,dc=xxx" scope=2 deref=0 filter="(&(|(objectClass=automount))(|(automountKey=.DS_Store)))"
Nov 21 10:45:25 fwsv02 slapd[51]: conn=2 op=12017 SRCH attr=automountKey automountInformation automountKey
Nov 21 10:45:25 fwsv02 slapd[51]: conn=2 op=12018 ABANDON msg=12018
Nov 21 10:45:25 fwsv02 slapd[51]: conn=2 op=12017 SEARCH RESULT tag=101 err=0 nentries=0 text=
Nov 21 10:45:25 fwsv02 slapd[51]: conn=2 op=12019 SRCH base="ou=mounts,dc= xxx,dc= xxx" scope=2 deref=0 filter="(&(|(objectClass=automount))(|(automountKey=\2A)))"

(以降,延々と続く)

これは,NFSのautomountの設定と何かがバッティングしていると思われるが,原因はわからず。
smb.confの[homes]セクションにpathの設定を加えることで回避した。

[homes]
        comment = Home Directories
        path = /Users/%u
        read only = no
        browseable = no

configureオプションの-with-automountあたりが関係しているかもしれないが,取りあえず回避できたので追求していない。

[2009.11.28 追記]
上記の設定でslapdのログ出力はしばらく収まっていたが,何かのタイミングで再発することがある。
ネットで調べてみたら,以下のページを見つけた。
http://colin.guthr.ie/2009/07/integrating-login-and-home-directory-on-os-x-leopard-clients/
書いてあるとおり,nfsに‘insecure’オプションを設定したところログ出力が収まったように思える。
しばらくこれで様子を見てみる。

ちなみに,Leopard以降では/etc/exportsではなく/etc/nfsd.confにinsecure相当の設定を記述する必要がある。

nfs.server.mount.require_resv_port = 1