51
Access Control List (ACL) / Re: Общие ACL для двух серверов
« Последний ответ от ferta 04 Февраль 2021, 15:03:54 »Спасибо
cat /etc/postfix/main.cf
...
virtual_alias_maps = pipemap:{ldap:/etc/postfix/ldap/ad_virtual_group.cf, ldap:/etc/postfix/ldap/ad_virtual_group_members.cf}
...
cat /etc/postfix/ldap/ad_virtual_group.cf
...
query_filter = (&(mail=%s)(objectClass=group)(member=*))
result_attribute = distinguishedName
...
cat /etc/postfix/ldap/ad_virtual_group_members.cf
...
query_filter = (&(userPrincipalName=*)(mail=*)(memberOf:1.2.840.113556.1.4.1941:=%s)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
result_attribute = mail
...
postmap -vfq "group@doma.in" "pipemap:{ldap:/etc/postfix/ldap/ad_virtual_group.cf, ldap:/etc/postfix/ldap/ad_virtual_group_members.cf}"
posfix reload
pipemap:{ldap:/etc/postfix/ldap/ad_virtual_group_dn_maps.cf, ldap:/etc/postfix/ldap/ad_virtual_group_members_maps.cf}
...
query_filter = (&(mail=%s)(member=*))
result_attribute = distinguishedName
...
query_filter = (&(memberOf=%s)(objectClass=person)(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
result_attribute = mail
...
query_filter = (&(mail=%s)(member=*))
result_attribute =
special_result_attribute = member
leaf_result_attribute = mail
А если человек вернётся, адрес почты вручную планируете восстанавливать?Да, руками. Если многим добавлять - опять же скриптом можно.
Зы. Может postfix умеет со скриптами работать? Перед отправкой, например?
...
query_filter = (&(objectClass=group)(|(mail=%s)(otherMailbox=%s)(proxyAddresses=%s)))
result_attribute = member
...
...
search_base = %s
scope = base
query_filter = (&(objectClass=user)(!(|(userAccountControl=514)(userAccountControl=66050))))
result_attribute = mail,otherMailbox,proxyAddresses
...
...
virtual_mailbox_maps = pipemap:{ldap:/etc/postfix/ldap/ad_virtual_group_maps.cf, ldap:/etc/postfix/ldap/ad_virtual_user_maps.cf}
...
Решил пока так.
У отключенного пол-ля просто убрал адрес почты в св-вах уч. записи. И тогда при выборе member-а из group пол-ль без эл. адреса в результат выборки не попадает.
Зы. При большом кол-ве пол-лей пройтись скриптом (bash, PS etc) с условием, если пол-ль не логинился более 90 дней, то откл. его уч. запись (установить атрибут userAccountControl=514) и удалить адрес почты (сбросить атрибут mail). Скрипт повесить в cron (bash) или Планировщик заданий (PS) на необходимую периодичность.