2009年8月16日

[postfix-jp: 3553]MAILBOXをLDAPで管理したい

今日は、渡辺と言います。

今、以下の環境にて、PostfixとOpenLDAPを構築中です。
・db-4.6.21
・cyrus-sasl-2.1.23
・heimdal-1.2.1
・openldap-2.4.16
・courier-authlib-0.62.4

・postfix-2.6.2

一応、ldapsearch で情報は拾えました。
ldapsearch -D "uid=Manager,dc=example,dc=co,dc=jp" -w 1234 -b
'dc=example,dc=co,dc=jp' -s sub "(uid=test)"
ldapsearch -D "uid=Manager,dc=example,dc=co,dc=jp" -w 1234 -b
'dc=example,dc=co,dc=jp' -s sub "(mail=test@xxxxx)"

別途後ろに設定内容を記載してます。

まずは、MailBOXだけを抽出するように、ldap-account.cf に
設定してみました。
OpenLDAPのログを見ると

SRCH "dc=example,dc=co,dc=jp" 2 0 0 10 0
filter: (&(objectClass=postfixAccount)
(mail=example.co.jp)(accountActive=TRUE))
attrs:
homeDirectory
bdb_idl_fetch_key: [8b583444]
send_ldap_result: err=0 matched="" text=""
connection_get(12)

上記のようにmail属性に@の前が入りません。
Postfixのマニュアルを見る限りでは、LdapからMailBoxの属性を
抽出するのには、virtual_mailbox_maps ディレクティブに記載
するしかないようです。
さらに、Postfixのマニュアル見て、mydestination を空白にし
て、virtual_mailbox_domains に example.co.jp を 記載すると
@の前にメールアドレスが入るようになりました。

この動きは正しいのでしょうか。
また、別にvirtualにするつもりはないのですが、Ldapから情報
を抽出には、virtualにするしかないのでしょうか。

よろしくお願いします。


===>Openldap(ldap.conf)
BASE dc=example,dc=co,dc=jp
URI ldap://192.168.1.10
HOST 192.168.1.10

===>Openldap(slapd.conf)
include /usr/local/openldap/etc/openldap/schema/core.schema
include /usr/local/openldap/etc/openldap/schema/cosine.schema
include /usr/local/openldap/etc/openldap/schema/inetorgperson.schema
include /usr/local/openldap/etc/openldap/schema/nis.schema
include /usr/local/openldap/etc/openldap/schema/postfix.schema

pidfile /var/ldap/pid/slapd.pid
argsfile /var/ldap/pid/slapd.args

database monitor
loglevel 4

access to *
by self write
by * search
by * read

database bdb
suffix "dc=example,dc=co,dc=jp"
rootdn "uid=Manager,dc=example,dc=co,dc=jp"

rootpw 1234
directory /usr/local/openldap/var/openldap-data
index objectClass eq,pres
index mail eq,pres,sub
index uid eq,pres,sub

===> Postfix
/usr/local/postfix/sbin/postconf -n
alias_database = dbm:/etc/postfix/aliases
alias_maps = dbm:/etc/postfix/aliases
command_directory = /usr/local/postfix/sbin
config_directory = /etc/postfix
daemon_directory = /usr/local/postfix/sbin
debug_peer_level = 2
home_mailbox = Maildir/
inet_interfaces = all
mail_owner = postfix
mail_spool_directory = /var/spool/mail/
mailq_path = /usr/local/postfix/bin/mailq
manpage_directory = /usr/local/postfix/usr/local/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = example.co.jp
myhostname = mailsv.example.co.jp
mynetworks = 192.168.1.0/24, 127.0.0.0/8
mynetworks_style = subnet
myorigin = $mydomain
newaliases_path = /usr/local/postfix/bin/newaliases
queue_directory = /var/spool/postfix
sendmail_path = /usr/local/postfix/lib/sendmail
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP $mail_name
transport_maps = dbm:/etc/postfix/transport
unknown_local_recipient_reject_code = 550
virtual_mailbox_maps = ldap:/etc/postfix/ldap-account.cf

===> ldap-account.cf
server_host = 192.168.1.10
server_port = 389
version = 3
bind = yes
bind_dn = uid=Manager,dc=example,dc=co,dc=jp
bind_pw = 1213fjse
search_base = dc=example,dc=co,dc=jp
scope = sub
query_filter = (&(objectClass=postfixAccount)(mail=%s)(accountActive=TRUE))
result_attribute = homeDirectory
result_format = %s

_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list


投稿者 xml-rpc : 2009年8月16日 20:05
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/87632
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。