SSSDを使って、LDAP連携をやってるんだけど、特定の属性値を持ったIDだけを連携対象に
したいと思って、ちょっと調べてみました。
結果は、微妙……
manにもあるとおり、こんな設定を入れる事で、認証の制限は出来ました。
access_provider = ldap
ldap_access_filter = memberOf=cn=allowedusers
でも、ユーザーとしては、存在している事になってしまいます。
例えば、id user01 とか、getent passwd でユーザー情報が確認出来てしまいます。
ログイン出来なければ良いシステムであれば、これでも良いんだけど、例えばメールサーバ
だと、pop/imap等でメールを取り出す事は出来ないけど、送られてきたメールはサーバが
受信してしまいます。
これでは、メールを送ってくれた人も、メールが届いていない事に気づけないし困ってしまいます。
という事で、現時点で、LDAP上のアカウントのうち、システムを利用できるユーザーを、適当な
ldap filterを使って制限を行いたい場合は、sssdは使わずに、旧来の nslcd を使う方法を取り、
nslcd.conf と pam_ldap.conf でfilterを掛ける必要がありそうです。
ちなみに、SSSDの最新版(1.7系)では、LDAP filterを柔軟に適用出来るようです。
SSSDは、まだまだ発展途上といったところでしょうか。。。
0 件のコメント:
コメントを投稿