postfix-ldap @ debian etch
某所のためにldapにアカウント情報を入れたpostfixのセットアップ。転送情報なども全部ldapに入れたいなぁ、と。
debian etchなので、とりあえず、
apt-get install postfix postfix-ldap
でソフトを入れて、postfix.schemaを/etc/ldap/schemaに入れて、slapd.confにincludeを追加。main.cfは
alias_maps: ldap:/etc/postfix/ldap-aliases.cf
を追加。(というか、既存のalias_mapsに追加、か。) 中身は、ldapサーバはlocalhostなので、とりあえずtlsは無しにして
server_host = localhost
search_base = dc=example,dc=net
query_filter = (&(objectClass=mailUser)(uid=%s))
result_attribute = maildrop
とする。(ldifではuidをユーザ名として定義している。)ldapの方は、アカウントをldapmodifyで変更で、追加するのは、
mailDrop = account
mail = account@example.net
objectClass = mailUser
とか。objectClassは最後に追加しないと、schemaのMUSTチェックでエラーになるので注意。mailはいらない気もするけど、schemaでMUSTなので。。複数のところにメールを落としたいときは、mailDropを複数入れる。
入れたら、
postmap -q account ldap:/etc/postfix/ldap-aliases.cf
でチェックする。設定したmailDropの内容が、カンマ区切りで表示されればok。@無しのものはローカルのメールスプールに、@があるのは転送になる、かな?
[修正@2008/05/22]
ldap-aliases.cfのquery_filterが間違っていたので訂正。%sが検索文字列に置換されてクエリがldapに投げられるので、uid=%sなどのアカウント名を引ける検索条件でないと動かない。