PostfixをLDAPで管理

Samba ADは既にセットアップされているとする。

PostfixのLdapマップをインストールする。

apt install postfix-ldap

PostfixのLDAP対応マップファイルを作成する。

mkdir /etc/postfix/ldap
cd /etc/postfix/ldap
vi ad_sender_login_maps.cf

server_host     = LDAPサーバー名
server_port     = 389
version         = 3
bind            = yes
start_tls       = yes
bind_dn         = アカウント
bind_pw         = パスワード
search_base     = OU=People,DC=foo,DC=com
scope           = sub
#query_filter    = (&(userPrincipalName=%s)(objectClass=person)(!(userAccountControl=514)))
query_filter    = (&(cn=%s)(objectClass=person)(!(userAccountControl=514)))
result_attribute= mail, otherMailbox
#result_attribute= userPrincipalName
debuglevel      = 0

vi ad_virtual_mailbox_maps.cf

server_host     = LDAPサーバー名
server_port     = 389
version         = 3
bind            = yes
start_tls       = yes
bind_dn         = アカウント
bind_pw         = パスワード
search_base     = OU=People,DC=foo,DC=com
scope           = sub
query_filter    = (&(objectclass=person)(cn=%s))
#query_filter    = (&(objectclass=person)(userPrincipalName=%s))
#result_attribute= userPrincipalName
result_attribute = homeDirectory
#result_format   = %d/%u/Maildir/
result_format = %s/Maildir/
debuglevel      = 0

vi ad_virtual_domain_maps.cf

server_host     = LDAPサーバー名
server_port     = 389
version         = 3
bind            = yes
start_tls       = yes
bind_dn         = アカウント
bind_pw         = パスワード
search_base     = OU=People,DC=foo,DC=com
scope           = sub
#query_filter    = (&(objectClass=group)(mail=%s))
#query_filter    = (&(userPrincipalName=%s)(objectClass=person)(!(userAccountControl=514)))
query_filter    = (&(cn=%s)(objectClass=person)(!(userAccountControl=514)))
#special_result_attribute = member
#leaf_result_attribute = mail
result_attribute= servicePrincipalName
debuglevel      = 0

vi ad_virtual_mailbox_quota.cf

server_host     = LDAPサーバー名
server_port     = 389
version         = 3
bind            = yes
start_tls       = yes
bind_dn         = アカウント
bind_pw         = パスワード
search_base     = OU=People,DC=foo,DC=com
scope           = sub
query_filter    = (&(objectclass=person)(cn=%s))
#query_filter    = (&(objectclass=person)(userPrincipalName=%s))
#result_attribute= userPrincipalName
result_attribute = maxStorage
debuglevel      = 0

vi ad_virtual_group_maps.cf

server_host     = LDAPサーバー名
server_port     = 389
version         = 3
bind            = yes
start_tls       = yes
bind_dn         = アカウント
bind_pw         = パスワード
search_base     = OU=People,DC=foo,DC=com
scope           = sub
#query_filter    = (&(objectClass=group)(mail=%s))
query_filter    = (&(objectClass=group)(cn=%s))
special_result_attribute = member
leaf_result_attribute = mail
result_attribute= userPrincipalName
debuglevel      = 0