lookup table ldap

This commit is contained in:
Mauro Torrez 2019-08-25 22:16:16 -03:00
parent ac9db2cd89
commit 0187fe290c
2 changed files with 37 additions and 5 deletions

View File

@ -24,8 +24,12 @@ postfix_domain_config: {}
# LOOKUP TABLES --------------------------------------------------------------- # LOOKUP TABLES ---------------------------------------------------------------
# proveedor lookup por defecto
postfix_lookup_provider: file postfix_lookup_provider: file
# lugar donde se guarda el mail (no debería importarle a postfix)
postfix_mail_home: "{{ vmail_home | default('/srv/mail') }}"
# LDAP ------------------------------------------------------------------------ # LDAP ------------------------------------------------------------------------
# Default LDAP connection parameters # Default LDAP connection parameters

View File

@ -10,13 +10,41 @@ bind_pw = {{ postfix_ldap_bind_pw }}
start_tls = {{ postfix_ldap_start_tls }} start_tls = {{ postfix_ldap_start_tls }}
tls_ca_cert_file = {{ postfix_ldap_tls_ca_cert_file }} tls_ca_cert_file = {{ postfix_ldap_tls_ca_cert_file }}
tls_ca_cert_dir = {{ postfix_ldap_tls_ca_cert_dir }} tls_ca_cert_dir = {{ postfix_ldap_tls_ca_cert_dir }}
search_base = ou=People,{{ domain.split('.') | map('regex_replace','^','dc=') | join(',') }} {% if item == 'user' %}
query_filter = (&(objectClass=inetOrgPerson)(uid=%u)) search_base = {{ postfix_mail_domains[domain][item+'_lookup'].search_base
result_attribute = uid | default( 'ou=People,'+domain.split('.') | map('regex_replace','^','dc=')
result_format = {{ vmail_home }}/mail/{{ domain }}/%s/ | join( ',' ) ) }}
query_filter = {{ postfix_mail_domains[domain][item+'_lookup'].query_filter
| default( '(&(objectClass=inetOrgPerson)(uid=%u))' ) }}
result_attribute = {{ postfix_mail_domains[domain].user_lookup.result_attribute
| default('uid') }}
result_format = {{ postfix_mail_home }}/{{ domain }}/%s/
{% endif %}
{% if item == 'alias' %}
search_base = {{ postfix_mail_domains[domain].alias_lookup.search_base
| default( 'ou=Alias,'+domain.split('.') | map('regex_replace','^','dc=')
| join( ',' ) ) }}
query_filter = {{ postfix_mail_domains[domain].alias_lookup.query_filter
| default( '(&(objectClass=nisMailAlias)(cn=%u))' ) }}
result_attribute = {{ postfix_mail_domains[domain].user_lookup.result_attribute
| default('rfc822MailMember') }}
result_format = {{ postfix_mail_domains[domain].user_lookup.result_format
| default('%s') }}
{% endif %}
{% if item == 'group' %}
search_base = {{ postfix_mail_domains[domain].group_lookup.search_base
| default( 'ou=Group,'+domain.split('.') | map('regex_replace','^','dc=')
| join( ',' ) ) }}
query_filter = {{ postfix_mail_domains[domain].group_lookup.query_filter
| default( '(&(objectClass=posixGroup)(cn=%u))' ) }}
result_attribute = {{ postfix_mail_domains[domain].user_lookup.result_attribute
| default('memberUid') }}
result_format = {{ postfix_mail_domains[domain].user_lookup.result_format
| default('%s@'+domain) }}
{% endif %}
# para sqlite # para sqlite
# dbpath = {{ vmail_home }}/{{ domain }}_users.sqlite # dbpath = /etc/postfix/{{ domain }}_users.sqlite
# query = {{ postfix_sqlite_user_query }} # query = {{ postfix_sqlite_user_query }}
# queda por configurar estos params # queda por configurar estos params