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などのアカウント名を引ける検索条件でないと動かない。

Leave a Reply »