Unique Values for Mail Attributes
9 июня 2009 г.Мы настроили почтовую систему Postfix–Dovecot–Sun Directory Server. Теперь нужно сделать чтобы атрибуты:
-
mail
-
mailAlternateAddress
-
mailEquivalentAddress
были уникальными. Воспользуемся руководством Sun Java System Delegated Administrator 6.4 Administration Guide. Нам нужно создать плагин, который и будет проверять уникальность требуемых атрибутов. Создадим файл mail uniq.ldif следующего содержания:
dn: cn=mail uniqueness,cn=plugins,cn=configobjectClass: topobjectClass: nsSlapdPluginobjectClass: extensibleObjectcn: mail uniquenessnssldap-pluginPath: /opt/sun/lib/uid-plugin.sonsslapd-pluginInitfunc: NSUniqueAttrSet_Initnsslapd-pluginType: preoperationnsslapd-pluginEnabled: onnsslapd-pluginarg0: attributeset=mail,mailalternateaddress,mailequivalentaddressnsslapd-pluginarg1: dc=dn,dc=localnsslapd-plugin-depends-on-type: databasensslapd-pluginId: NSUniqueAttrSetnsslapd-pluginVersion: 5.2nsslapd-pluginVendor: Sun Microsystems, Inc.nsslapd-pluginDescription: Enforce unique values among an attribute set
и выполняем следующую команду:
[root@ldap /]# ldapmodify -x -h ldap -p 389 -D "cn=Directory Manager" -w pasword -f mail uniq.ldif
Перезапускаем сервер slapd. Если при старте сервера не выдало ошибок, значит плагин установился. В консоли управления можно посмотреть наши результаты…
PostFix & Dynamic Group
22 мая 2009 г.После настройки почтовика описанного в этом посте, стало возможным осуществить “старую мечту” :) – рассылку сообщений ВСЕМ пользователям. Для этого нужно:
- создать в Sun Directory группу, прописать в атрибуте “mail” – электронный адрес для группы и в атрибуте “memberurl” следующий запрос:
ldap:///dc=dn,dc=local??sub?(&(objectclass=person)(mail=*)(!(nsAccountLock=true)))
запрос будет выбирать пользователей у которых присутствует атрибут “mail” и учетная запись не отключена
2. подправим наш ldap-groups-sun.cf добавив к переменой special_result_attribute memberurl и получился конфиг:
server_host = sunldap.dn.localsearch_base = ou=People,dc=dn,dc=localversion = 3query_filter = (&(objectclass=groupOfUniqueNames)(|(mailAlternateAddress=%s)(mail=%s)))leaf_result_attribute = mailresult_attribute = mailspecial_result_attribute = uniqueMember, memberurlbind = yesbind_dn = uid=ldap,dc=dn,dc=localbind_pw = password
Ну и конечно в Postfix с помощью restriction_classes ограничить доступ на этот адрес.
Postfix-Dovecot-Sun Direcory Server
21 мая 2009 г.Была поставлена задача создать почтовую систему и связать ее с Active Directory, но если служба каталогов не будет доступна по какой-то причине, пользователям не будет доставляться почта. И мы решили развернуть еще одну службу каталогов. Выбор остановили на SUN ONE Directory Server. Он бесплатный, документация отличная и что немало важно управлять ним можно через WEB или java консоль, а синхронизировать Active Direcory и Sun Direcory мы будем с помощью ILM 2007 (Microsoft Identity Lifecycle Manager).
Script StartUP Sun ONE Directory Server
20 мая 2009 г.Тут пример скрипта для старта-рестарта-стопа Sun ONE Directory Server 5.2 (у меня такой). Создаем в /etc/init.d файл sun-dir следующего содержания:
#!/bin/sh# chkconfig: - 80 80# description: This script is used as a startup script.# processname: start-sun-dirNETSITE_ROOT=/opt/sunfinal_exit_code=0case "$1" instart)# start Directory Server$NETSITE_ROOT/slapd-sunldap/start-slapd 2>&1# start Administration Server$NETSITE_ROOT/start-admin 2>&1exit ${final_exit_code};;stop)# stop Directory Server$NETSITE_ROOT/slapd-sunldap/stop-slapd 2>&1# stop Administration Server$NETSITE_ROOT/stop-admin 2>&1exit ${final_exit_code};;restart)# stop Directory Server$NETSITE_ROOT/slapd-sunldap/stop-slapd 2>&1# stop Administration Server$NETSITE_ROOT/stop-admin 2>&1# start Administration Server$NETSITE_ROOT/start-admin 2>&1# start Directory Server$NETSITE_ROOT/slapd-sunldap/start-slapd 2>&1exit ${final_exit_code};;*)if [ -z $1 ]thenecho "Usage: $0 {start|stop|restart}" >&2fiexit 1;;esac
правим пути и выполняем chkconfig sun-dir on
Все…, теперь наш Sun ONE Directory Server будет корректно стартовать при старте ОС