{"id":260977,"date":"2015-07-08T19:53:02","date_gmt":"2015-07-08T15:53:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=260977"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=260977","title":{"rendered":"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Exim \u0438 Dovecot \u0441 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u043e\u0439 \u043a OpenLDAP"},"content":{"rendered":"<p>             \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Exim, Dovecot \u0438 OpenLDAP \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u043e\u0435\u0433\u043e \u043e\u043f\u044b\u0442\u0430 \u0441 \u044d\u0442\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0411\u044b\u0442\u044c \u043c\u043e\u0436\u0435\u0442, \u043a\u0442\u043e-\u0442\u043e \u043d\u0430\u0439\u0434\u0435\u0442 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0447\u0442\u043e-\u043b\u0438\u0431\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u0438 \u043d\u043e\u0432\u043e\u0435 \u2014 \u0432 \u044d\u0442\u043e\u043c \u0438 \u0431\u044b\u043b\u0430 \u0446\u0435\u043b\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0433\u043e howto \u043d\u0430 \u0434\u0430\u043d\u043d\u0443\u044e \u0442\u0435\u043c\u0443.<\/p>\n<p>  \u041f\u043e\u0447\u0435\u043c\u0443 Exim \u0438 OpenLDAP, \u0430 \u043d\u0435 Postfix \u0438 MySQL, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440? Postfix \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb, \u043d\u043e \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e-\u0442\u043e \u043d\u0435\u043e\u0440\u0434\u0438\u043d\u0430\u0440\u043d\u043e\u0435, \u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u043a\u043e\u0440\u043e Postfix \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u0435\u043f\u043e\u0432\u043e\u0440\u043e\u0442\u043b\u0438\u0432\u043e\u0433\u043e \u043c\u043e\u043d\u0441\u0442\u0440\u0430, \u043e\u0431\u0432\u0435\u0448\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u043b-\u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438, Exim \u0436\u0435 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0447\u0443\u0434\u043e\u0432\u0438\u0449\u043d\u044b\u043c \u043f\u043e \u0441\u0438\u043b\u0435 \u043c\u0435\u0442\u0430-\u044f\u0437\u044b\u043a\u043e\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0431\u0435\u0437 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0438 \u043a\u043e\u0441\u0442\u044b\u043b\u0435\u0439. MySQL \u044f \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043b \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u043c \u0434\u043b\u044f \u043c\u043e\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 \u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u043b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c OpenLDAP, \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f LDAP. Dovecot \u043e\u0447\u0435\u043d\u044c \u0448\u0443\u0441\u0442\u0440\u044b\u0439 \u0438 \u043b\u0435\u0433\u043a\u0438\u0439 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043f\u043b\u044e\u0441 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0441 Exim, \u0442\u0430\u043a \u0438 \u0441 OpenLDAP.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0418\u0442\u0430\u043a, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0441\u043e\u0444\u0442, \u0442\u0443\u0442 \u0432\u0441\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e (apt-get, yum \u0438 \u0442\u0434). \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b Gentoo, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 emerge openldap dovecot exim (exim \u0438 dovecot \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u043c\u0435\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 ldap).<\/p>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 USE \u0444\u043b\u0430\u0433\u0438 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435:<\/p>\n<pre><code>net-nds\/openldap-2.4.40-r3::x-overlay  USE=&quot;berkdb crypt gnutls overlays samba sasl ssl syslog mail-mta\/exim-4.85::gentoo  USE=&quot;dkim dnsdb dovecot-sasl dsn exiscan-acl gnutls ldap lmtp maildir pam pkcs11 prdr spf ssl syslog  net-mail\/dovecot-2.2.18::gentoo USE=&quot;bzip2 caps ldap maildir managesieve pam sieve ssl zlib<\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0432\u044b\u043c \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0431\u0443\u0434\u0435\u0442 OpenLDAP, \u0432 \u0435\u0433\u043e \u0431\u0430\u0437\u0435 \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0432\u0441\u0435 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u044b, \u0433\u0440\u0443\u043f\u043f\u044b \u0438 \u0430\u043b\u044c\u044f\u0441\u044b, \u0442\u0430\u043a\u0436\u0435 OpenLDAP \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0438 \u0434\u043b\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432. \u0414\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u0438 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u044f \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e slapd-config, \u0430 \u0445\u0440\u0430\u043d\u044e \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c slapd.conf.<\/p>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 OpenLDAP \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0432 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0439 \u0441\u0445\u0435\u043c\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u0447\u0442\u043e\u0439, \u0442\u043e \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0441\u0432\u043e\u044e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e <a href=\"http:\/\/pastebin.com\/DMh10szu\">phamm.schema<\/a> \u0438 <a href=\"http:\/\/open.rhx.it\/phamm\/phamm-0.6.4.tar.gz\">phamm-vacation.schema<\/a>.<\/p>\n<h4>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 OpenLDAP<\/h4>\n<p>  \u041e\u043f\u0443\u0441\u043a\u0430\u044e \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 basedn dc=domain,dc=com \u0438 ssl \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0434\u043b\u044f OpenLDAP, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u0443\u0442 \u0432\u0441\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u043d\u0444\u0438\u0433 slapd.conf<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>include \/etc\/openldap\/schema\/core.schema include \/etc\/openldap\/schema\/cosine.schema include \/etc\/openldap\/schema\/corba.schema include \/etc\/openldap\/schema\/inetorgperson.schema include \/etc\/openldap\/schema\/nis.schema include \/etc\/openldap\/schema\/misc.schema # \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0435 \u0441\u0445\u0435\u043c\u044b include \/etc\/openldap\/schema\/phamm.schema include \/etc\/openldap\/schema\/phamm-vacation.schema  pidfile \/run\/openldap\/slapd.pid argsfile    \/run\/openldap\/slapd.args  # \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0443\u0442\u044c \u043a \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0447\u0435\u0440\u0435\u0437 TLS TLSCACertificateFile    \/etc\/openldap\/ssl\/cacert.pem TLSCertificateFile         \/etc\/openldap\/ssl\/newcert.pem TLSCertificateKeyFile   \/etc\/openldap\/ssl\/newkey.pem TLSProtocolMin             3.1 TLSVerifyClient             allow  database        bdb  # \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f bdb \u0431\u0430\u0437\u0430, \u043d\u0435\u0431\u044b\u0441\u0442\u0440\u0430\u044f, \u043d\u043e \u043d\u0430\u0434\u0435\u0436\u043d\u0430\u044f. cachesize       100000 suffix          &quot;dc=domain,dc=com&quot; rootdn          &quot;uid=manager,dc=domain,dc=com&quot; #\u0443\u0447\u0435\u0442\u043a\u0430 \u0430\u0434\u043c\u0438\u043d\u0430 rootpw          **** directory       \/var\/lib\/openldap-data checkpoint      32 30 idletimeout     120 writetimeout    120 loglevel    none  overlay syncprov  # \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u043e\u0434\u0443\u043b\u044c \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 syncprov syncprov-checkpoint 100 10 syncprov-sessionlog 100  # \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u044b index uid,accountActive,vacationActive,createMaildir eq index cn,givenName,sn,mail pres,eq,sub index uidNumber,gidNumber,memberUid eq index entryCSN,entryUUID eq index objectClass,member,uniqueMember eq  # \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0431\u0430\u0437\u0435 # \u0443\u0447\u0435\u0442\u043a\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f \u0434\u043b\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 limits dn=&quot;uid=replicator,ou=services,dc=domain,dc=com&quot;     size=unlimited     time=unlimited  # \u0443\u0447\u0435\u0442\u043a\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f phpldapadmin limits dn=&quot;uid=ldapadmin,ou=services,dc=domain,dc=com&quot;     size=unlimited     time=unlimited  #\u0443\u0447\u0435\u0442\u043a\u0430 exim  limits dn=&quot;uid=exim,ou=services,dc=domain,dc=com&quot;     size=unlimited     time=unlimited  #\u0443\u0447\u0435\u0442\u043a\u0430 nsswitch limits dn=&quot;uid=proxyagent,ou=services,dc=domain,dc=com&quot;     size=unlimited     time=unlimited  #\u0441\u0430\u043c\u043e\u0435 \u0446\u0435\u043d\u043d\u043e\u0435 \u0432 \u0431\u0430\u0437\u0435 \u044d\u0442\u043e \u043f\u0430\u0440\u043e\u043b\u0438 access to attrs=userPassword     by dn.base=&quot;uid=ldapadmin,ou=services,dc=domain,dc=com&quot; write     by dn.base=&quot;uid=replicator,ou=services,dc=domain,dc=com&quot; read     by dn.base=&quot;uid=proxyagent,ou=services,dc=domain,dc=com&quot; read     by anonymous auth     by self write     by * none  access to attrs=mail     by dn.base=&quot;uid=ldapadmin,ou=services,dc=domain,dc=com&quot; write     by * read  access to *     by dn.base=&quot;uid=ldapadmin,ou=services,dc=domain,dc=com&quot; write     by users read     by anonymous auth<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u043b\u044f OpenLDAP (\u043e\u043f\u044f\u0442\u044c \u0436\u0435 \u0442\u0443\u0442 \u0432\u0441\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043f\u0443\u0441\u043a\u0430\u044e \u0434\u0435\u0442\u0430\u043b\u0438). \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0447\u0442\u043e \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c OpenLDAP \u0440\u0443\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 sssvlv (Server Side Sorting and Virtual List View) \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0435 (.\/configure &#8212;enable-ipv6=no &#8212;enable-syncprov=yes &#8212;enable-sssvlv=yes &#8212;with-tls=yes).<\/p>\n<p>  \u0412\u0442\u043e\u0440\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u0430\u0434\u0440\u0435\u0441\u043d\u0430\u044f \u043a\u043d\u0438\u0433\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u043d\u0444\u0438\u0433 slapd.conf \u0434\u043b\u044f \u0432\u0442\u043e\u0440\u043e\u0433\u043e LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>include \/etc\/ldap\/schema\/corba.schema include \/etc\/ldap\/schema\/core.schema include \/etc\/ldap\/schema\/cosine.schema include \/etc\/ldap\/schema\/inetorgperson.schema include \/etc\/ldap\/schema\/misc.schema include \/etc\/ldap\/schema\/nis.schema # \u0432\u0441\u0435 slapd \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u0440\u0438 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u043c\u0435\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u0435 \u0441\u0445\u0435\u043c\u044b include \/etc\/ldap\/schema\/phamm-vacation.schema include \/etc\/ldap\/schema\/phamm.schema  # Load dynamic backend modules: #modulepath     \/usr\/lib\/ldap #moduleload     back_hdb.so #moduleload     sssvlv.so  #\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c sssvlv \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0438 Outlook  idletimeout     120 threads         8 sizelimit       1000 pidfile         \/var\/run\/slapd\/slapd.pid argsfile        \/var\/run\/slapd\/slapd.args loglevel        0  # \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0443\u0442\u044c \u043a \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0447\u0435\u0440\u0435\u0437 TLS TLSCACertificateFile    \/etc\/ldap\/ssl\/ca.pem TLSCertificateFile         \/etc\/ldap\/ssl\/ab.domain.com_crt.pem TLSCertificateKeyFile   \/etc\/ldap\/ssl\/ab.domain.com_key.pem TLSProtocolMin            3.1 TLSVerifyClient             allow  database          hdb  #\u0442\u0443\u0442 \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u0430\u044f hdb cachesize         100000 suffix                &quot;dc=domain,dc=com&quot; rootdn             &quot;cn=replicator,ou=services,dc=domain,dc=com&quot;  rootpw             ***** directory          \/var\/lib\/ldap checkpoint       32 30 idletimeout      120 writetimeout    120  overlay sssvlv  #\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 TLS, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f syncrepl syncrepl rid=001 #ID \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438         provider=ldaps:\/\/domain.com #\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f ldaps:\/\/ , \u0442\u0430\u043a \u043a\u0430\u043a \u0447\u0435\u0440\u0435\u0437 starttls \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0441 self-signed \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438         type=refreshOnly         interval=00:00:10:00         searchbase=&quot;dc=domain,dc=com&quot;         scope=sub         schemachecking=off         bindmethod=simple         binddn=&quot;uid=replicator,ou=services,dc=domain,dc=com&quot;  #\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 posix \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0432 ou=services, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0432 slapd.conf         credentials=****         tls_cacertdir=\/etc\/ssl\/certs         tls_cacert=\/etc\/ldap\/ssl\/ca.pem         tls_cert=\/etc\/ldap\/ssl\/ab.domain.com_crt.pem         tls_key=\/etc\/ldap\/ssl\/ab.domain.com_key.pem         tls_reqcert=allow  index uid,accountActive,vacationActive eq index cn,givenName,sn,mail pres,eq,sub index uidNumber,gidNumber,memberUid eq index entryCSN,entryUUID eq index objectClass,member,uniqueMember eq  # \u0443\u0431\u0438\u0440\u0430\u0435\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 limits dn=&quot;uid=replicator,ou=services,dc=domain,dc=com&quot;         size=unlimited         time=unlimited  #\u0443\u0431\u0438\u0440\u0430\u0435\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0438 limits users         size=unlimited         time=unlimited  # \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 access to attrs=userPassword         by dn.base=&quot;uid=ldapadmin,ou=services,dc=domain,dc=com&quot; write         by dn.base=&quot;uid=replicator,ou=services,dc=domain,dc=com&quot; write         by dn.base=&quot;uid=proxyagent,ou=services,dc=domain,dc=com&quot; read         by anonymous auth         by self write         by * none  access to attrs=mail         by dn.base=&quot;uid=ldapadmin,ou=services,dc=domain,dc=com&quot; write         by dn.base=&quot;uid=replicator,ou=services,dc=domain,dc=com&quot; write         by * read  access to attrs=cn         by dn.base=&quot;uid=ldapadmin,ou=services,dc=domain,dc=com&quot; write         by dn.base=&quot;uid=replicator,ou=services,dc=domain,dc=com&quot; write         by * read  access to *         by dn.base=&quot;uid=ldapadmin,ou=services,dc=domain,dc=com&quot; write         by dn.base=&quot;uid=replicator,ou=services,dc=domain,dc=com&quot; write         by users read         by anonymous auth <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0414\u043b\u044f \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f LDAP \u0431\u0430\u0437\u044b \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e phpldapadmin, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d \u043b\u0435\u0433\u043a\u0438\u0439, \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0438 \u0438\u043c\u0435\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 XML \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0433\u0438\u0431\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043f\u0440\u043e\u0435\u043a\u0442 \u0434\u0430\u0432\u043d\u043e \u0437\u0430\u0431\u0440\u043e\u0448\u0435\u043d \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438\u043c\u0435\u0440 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code> &lt;objectClasses&gt;  &lt;objectClass id=&quot;top&quot;&gt;&lt;\/objectClass&gt;  &lt;objectClass id=&quot;inetOrgPerson&quot;&gt;&lt;\/objectClass&gt;  &lt;objectClass id=&quot;posixAccount&quot;&gt;&lt;\/objectClass&gt; #\u0431\u0430\u0437\u043e\u0432\u044b\u0439 posix \u0430\u043a\u043a\u0430\u0443\u043d\u0442  &lt;objectClass id=&quot;VirtualMailAccount&quot;&gt;&lt;\/objectClass&gt; #\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0441 \u0438\u0437 \u043d\u0430\u0448\u0435\u0439 \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0439 phamm \u0441\u0445\u0435\u043c\u044b  &lt;objectClass id=&quot;Vacation&quot;&gt;&lt;\/objectClass&gt; #\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0441 \u0438\u0437 phamm-vacation \u0441\u0445\u0435\u043c\u044b  &lt;\/objectClasses&gt;  &lt;attributes&gt; &lt;attribute id=&quot;givenName&quot;&gt;    &lt;display&gt;First Name&lt;\/display&gt;    &lt;icon&gt;ldap-uid.png&lt;\/icon&gt;    &lt;order&gt;1&lt;\/order&gt;    &lt;page&gt;1&lt;\/page&gt; &lt;\/attribute&gt;  &lt;attribute id=&quot;sn&quot;&gt;    &lt;display&gt;Last Name&lt;\/display&gt;    &lt;onchange&gt;=autoFill(cn;%givenName% %sn%)&lt;\/onchange&gt;    &lt;onchange&gt;=autoFill(uid;%givenName|0-1\/l%%sn\/l%)&lt;\/onchange&gt;    &lt;onchange&gt;=autoFill(loginShell;\/sbin\/nologin)&lt;\/onchange&gt;    &lt;onchange&gt;=autoFill(FTPStatus;enabled)&lt;\/onchange&gt;    &lt;order&gt;2&lt;\/order&gt;    &lt;page&gt;1&lt;\/page&gt; &lt;\/attribute&gt;  &lt;attribute id=&quot;cn&quot;&gt;    &lt;display&gt;Common Name&lt;\/display&gt;    &lt;order&gt;3&lt;\/order&gt; &lt;\/attribute&gt;  &lt;attribute id=&quot;uid&quot;&gt;    &lt;display&gt;UID&lt;\/display&gt;    &lt;onchange&gt;=autoFill(homeDirectory;\/home\/%uid%)&lt;\/onchange&gt;    &lt;onchange&gt;=autoFill(mailbox;\/home\/%uid%\/Maildir)&lt;\/onchange&gt;    &lt;onchange&gt;=autoFill(mail;%uid%@domain.com)&lt;\/onchange&gt;    &lt;onchange&gt;=autoFill(company;My Company)&lt;\/onchange&gt;    &lt;order&gt;4&lt;\/order&gt;    &lt;spacer&gt;1&lt;\/spacer&gt; &lt;\/attribute&gt; <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443 LDAP \u0431\u0430\u0437\u044b:<\/p>\n<p>  ou=people,dc=domain,dc=com \u2014 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432;<br \/>  ou=groups,dc=domain,dc=com \u2014 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f posix \u0433\u0440\u0443\u043f\u043f;<br \/>  ou=services,dc=domain,dc=com \u2014 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 (posix \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u044b);<br \/>  ou=aliases,dc=domain,dc=com \u2014 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u0430\u043b\u044c\u044f\u0441\u043e\u0432.<\/p>\n<p>  \u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043c\u043d\u043e\u044e phamm \u0441\u0445\u0435\u043c\u044b, \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0437\u0430 \u0440\u0430\u043c\u043a\u0438 \u044d\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, createMaildir \u0438\u043b\u0438 Backup). \u041e\u0442\u043c\u0435\u0447\u0443 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0445 \u043f\u043e\u0438\u0441\u043a\u0430.<br \/>  accountActive = TRUE|FALSE \u2014 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c\/\u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0438\u043b\u0438 \u0430\u043b\u044c\u044f\u0441;<br \/>  vacationInfo \u2014 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u0435\u043a\u0441\u0442 Out of Office \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f;<br \/>  vacationActive \u2014 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c\/\u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0442\u044c OoO \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435;<br \/>  quota \u2014 \u0442\u0443\u0442 \u0438 \u0442\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u043d\u043e (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: quota = 4G)<\/p>\n<p>  \u0418\u0442\u0430\u043a, OpenLDAP \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d, \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 phpldapadmin \u0441\u043e\u0437\u0434\u0430\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 ipupkin c \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u043f\u043e\u0447\u0442\u044b ipupkin@domain.com. \u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0434\u043e\u043c\u0435\u043d domain.com, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0432 \u043d\u0430\u0448\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 ou=groups posix \u0433\u0440\u0443\u043f\u043f\u0443 domain \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c ipupkin \u0432 \u044d\u0442\u0443 \u0433\u0440\u0443\u043f\u043f\u0443.<\/p>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432\u0441\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u043b\u0438\u043d\u0443\u043a\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0438 \u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u0434\u0430\u043f \u0431\u0430\u0437\u0443 \u0434\u043b\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u043d\u0430 \u043f\u043b\u0435\u0447\u0438 Name Service Switch (nss) \u0438\u043b\u0438 System Security Services Daemon (sssd). \u0422\u0430\u043a\u0436\u0435 \u043f\u043b\u044e\u0441\u043e\u043c \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0435\u0433\u043a\u0430\u044f \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f \u0441 Samba \u0434\u043e\u043c\u0435\u043d\u043e\u043c, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438.<br \/>  \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0447\u0442\u043e \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043f\u0430\u043a\u0435\u0442 nss_ldap (\u0438\u043b\u0438 libnss-ldapd).<br \/>  \u0412 \/etc\/nsswitch.conf \u043c\u0435\u043d\u044f\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0438 \u0441 compat \u043d\u0430 ldap (\u0438\u043b\u0438 winbind \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 Samba \u0434\u043e\u043c\u0435\u043d\u0430):<br \/>  passwd: files ldap<br \/>  shadow: files ldap<br \/>  group: files ldap<\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b \/etc\/ldap.conf \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">ldap.conf<\/b><\/p>\n<div class=\"spoiler_text\">uri ldap:\/\/127.0.0.1<br \/>  uri ldap:\/\/192.168.0.1 #\u0432\u0442\u043e\u0440\u043e\u0439 \u043b\u0434\u0430\u043f-\u0441\u0435\u0440\u0432\u0435\u0440 \u043a\u0430\u043a fallback<\/p>\n<p>  base dc=domain,dc=com<br \/>  binddn uid=proxyagent,ou=services,dc=domain,dc=com #\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0432 ou=services posix \u0430\u043a\u043a\u0430\u0443\u043d\u0442, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0432 slapd.conf<br \/>  bindpw *****<\/p>\n<p>  pam_filter objectclass=posixAccount<br \/>  pam_login_attribute uid<br \/>  pam_check_host_attr no<br \/>  pam_lookup_policy no<br \/>  pam_member_attribute memberUid<br \/>  pam_min_uid 1000<br \/>  pam_max_uid 65535<br \/>  ssl start_tls #\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c TLS \u0432\u043c\u0435\u0441\u0442\u043e SSL<br \/>  #\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0443\u0442\u0438 \u043a \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c<br \/>  tls_cacert \/etc\/openldap\/ssl\/ca.pem<br \/>  tls_key \/etc\/openldap\/ssl\/mail_crt_new.pem<br \/>  tls_cert \/etc\/openldap\/ssl\/mail_key_new.pem<br \/>  tls_reqcert allow<br \/>  tls_checkpeer no<br \/>  tls_ciphers TLSv1<br \/>  scope sub<br \/>  timelimit 5<br \/>  bind_timelimit 5<br \/>  bind_policy soft<br \/>  nss_reconnect_tries 4<br \/>  nss_reconnect_sleeptime 1<br \/>  nss_reconnect_maxsleeptime 16<br \/>  nss_reconnect_maxconntries 2  <\/div>\n<\/div>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e nss \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f (mkdir -m 700 \/home ipupkin &#038;&#038; chown ipupkin:domain \/home\/ipupkin).<br \/>  &gt;id ipupkin<br \/>  uid=1057(ipupkin) gid=1000(domain) groups=1000(domain)<br \/>  &gt; ls -ld \/home\/ipupkin<br \/>  drwx&#8212;&#8212; 3 ipupkin domain 4096 Jun 22 15:50 \/home\/ipupkin<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c ipupkin \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439, \u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b ipupkin \u0441\u043c\u043e\u0433 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0438 \u043e\u0442\u0441\u044b\u043b\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u0443.<\/p>\n<h4>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Dovecot<\/h4>\n<p>  \u041f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 Dovecot \u044f \u0443\u0434\u0430\u043b\u0438\u043b \u0432\u0441\u0435 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u043d\u0441\u0442\u0440\u0443\u043e\u0437\u043d\u044b\u0435 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u0438 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0441\u043e\u0437\u0434\u0430\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0430 \u2014 dovecot.conf \u0438 dovecot-ldap.conf.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">dovecot.conf<\/b><\/p>\n<div class=\"spoiler_text\">auth_cache_negative_ttl = 10 mins<br \/>  auth_debug = no<br \/>  auth_debug_passwords = no<br \/>  auth_mechanisms = plain login #\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f TLS, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c plain<br \/>  base_dir = \/var\/run\/dovecot\/<br \/>  default_vsz_limit = 1024 M<br \/>  disable_plaintext_auth = no<br \/>  dotlock_use_excl = yes<br \/>  lda_mailbox_autocreate = yes #\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e<br \/>  lda_mailbox_autosubscribe = yes #\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e<br \/>  listen = *<br \/>  mmap_disable = yes<br \/>  mail_fsync = always<br \/>  mail_nfs_storage = no<br \/>  mail_nfs_index = no<br \/>  mail_debug = no<br \/>  mail_location = maildir:~\/Maildir #\u0433\u0434\u0435 \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u044f\u0449\u0438\u043a, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 maildir \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u0438\u0437 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 homeDirectory (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \/home\/ipupkin), \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \/home\/ipupkin\/Maildir.<br \/>  mail_plugins = $mail_plugins quota notify expire<br \/>  managesieve_notify_capability = mailto<br \/>  managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date<br \/>  ssl_ca = &lt;\/etc\/dovecot\/ssl\/ca.pem<br \/>  ssl_cert = &lt;\/etc\/dovecot\/ssl\/mail_crt_new.pem<br \/>  ssl_key = &lt;\/etc\/dovecot\/ssl\/mail_key_new.pem<br \/>  ssl_verify_client_cert = no<br \/>  verbose_ssl = no<\/p>\n<p>  protocols = imap pop3 sieve<\/p>\n<p>  userdb {<br \/>   args = \/etc\/dovecot\/dovecot-ldap.conf #\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043d\u0430\u0448 ldap \u043a\u043e\u043d\u0444\u0438\u0433<br \/>   driver = ldap<br \/>  }<\/p>\n<p>  passdb {<br \/>   args = \/etc\/dovecot\/dovecot-ldap-pass.conf #\u043f\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u0430\u0432\u0442\u043e\u0440\u043e\u0432 dovecot \u0441\u0438\u043c\u0432\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 dovecot-ldap.conf<br \/>   driver = ldap<br \/>  }<\/p>\n<p>  service auth {<br \/>   unix_listener auth-userdb {<br \/>   mode = 0666<br \/>   }<br \/>  }<\/p>\n<p>  service imap-login {<br \/>   process_min_avail = 6<br \/>   service_count = 0<br \/>  }<\/p>\n<p>  service pop3-login {<br \/>   process_min_avail = 6<br \/>   service_count = 0<br \/>  }<\/p>\n<p>  #\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f managesieve \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c \u0432\u0435\u0431\u043f\u043e\u0447\u0442\u044b roundcube<br \/>  service managesieve-login {<br \/>   process_min_avail = 6<br \/>   service_count = 0<br \/>   inet_listener sieve {<br \/>   port = 4190<br \/>   }<br \/>  }<\/p>\n<p>  service managesieve {<br \/>  }<\/p>\n<p>  service dict {<br \/>   unix_listener dict {<br \/>   mode = 0666<br \/>   }<br \/>   }<\/p>\n<p>  #\u043f\u0440\u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u044f\u0449\u0438\u043a\u0430 \u043d\u0430 90%, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 <br \/>  service quota-warning {<br \/>   executable = script \/etc\/dovecot\/quota-warning.sh # \u0441\u0430\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043a\u0440\u0438\u043f\u0442<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>#!\/bin\/sh  PERCENT=$1 USER=$2 cat &lt;&lt; EOF | \/usr\/libexec\/dovecot\/dovecot-lda -d $USER -o &quot;plugin\/quota=maildir:User quota:noenforcing&quot; From: postmaster@domain.com Subject: Your mailbox is $PERCENT% full Content-Type: text\/plain; charset=&quot;UTF-8&quot; X-Priority: 2  Warning! Your mailbox is now $PERCENT% full. EOF <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  unix_listener quota-warning {<br \/>   mode = 0666<br \/>   }<br \/>  }<\/p>\n<p>  protocol imap {<br \/>   imap_client_workarounds = delay-newmail #\u0445\u0430\u043a \u0434\u043b\u044f \u0410\u0443\u0442\u043b\u0443\u043a\u0430<br \/>   mail_plugins = quota imap_quota mail_log notify<br \/>  }<\/p>\n<p>  protocol pop {<br \/>   pop3_client_workarounds = outlook-no-nuls oe-ns-eoh #\u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0445\u0430\u043a\u0438 \u0434\u043b\u044f \u0410\u0443\u0442\u043b\u0443\u043a\u0430<br \/>   #pop3_uidl_format = %08Xu%08Xv #\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0410\u0443\u0442\u043b\u0443\u043a\u043e\u043c \u043f\u043e\u0447\u0442\u044b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u044d\u0442\u043e\u0442 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0410\u0443\u0442\u043b\u0443\u043a\u043e\u043c 2013<br \/>   pop3_uidl_format = %g<br \/>   pop3_fast_size_lookups=yes #\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 <a href=\"http:\/\/wiki2.dovecot.org\/POP3Server\">\u0437\u0434\u0435\u0441\u044c<\/a> \u0440\u0430\u0437\u0434\u0435\u043b Maildir perfomance.<br \/>   mail_plugins =<br \/>  }<\/p>\n<p>  # Logical Delivery Agent (LDA) \u0441\u0435\u0440\u0432\u0438\u0441, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 Exim \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043f\u043e\u0447\u0442\u044b.<br \/>  protocol lda {<br \/>   hostname = domain.com<br \/>   mail_fsync = optimized<br \/>   mail_plugins = sieve quota<br \/>   postmaster_address = postmaster@domain.com<br \/>   log_path =<br \/>   info_log_path =<br \/>  }<\/p>\n<p>  protocol sieve {<br \/>  }<\/p>\n<p>  #\u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u043e\u0431\u0430\u0432\u043a\u0438<br \/>  plugin {<br \/>   quota = maildir:User quota<br \/>   quota_rule = *:storage=1M<br \/>   quota_rule2 = Trash:ignore<br \/>   quota_rule3 = Deleted Items:ignore<br \/>   quota_rule4 = Junk E-mail:ignore<br \/>   quota_rule5 = Archive:ignore<br \/>   quota_rule6 = archive:ignore<br \/>   quota_warning = storage=90%% quota-warning 90 %u #\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u044f\u0449\u0438\u043a\u0430, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 quota-warning.sh<br \/>   sieve = ~\/Maildir\/.dovecot.sieve<br \/>   sieve_dir = ~\/Maildir\/sieve<br \/>   expire_dict = proxy::expire <br \/>   expire = Trash<br \/>   expire2 = Deleted Items<br \/>   expire3 = Junk E-mail<br \/>   expire_cache = yes<br \/>  }<\/p><\/div>\n<\/div>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0435\u0442 (dovecot -a) \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c dovecot.<\/p>\n<h4> \u0424\u0438\u043d\u0430\u043b: \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Exim<\/h4>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0446\u0435\u043b\u044c\u044e \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 Exim \u0431\u044b\u043b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u043a\u0430\u0437 \u043e\u0442 \u043b\u044e\u0431\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0441\u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 Exim. \u0422\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u0435\u0431\u0438\u0430\u043d\u043e\u0432\u0441\u043a\u0438\u0439 greylistd \u043d\u0430 \u043f\u0438\u0442\u043e\u043d\u0435 \u0438 \u043f\u0435\u0440\u043b\u043e\u0432\u044b\u0439 amavisd-new. <br \/>  \u041f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 Exim \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u0432\u0430 \u0444\u0430\u0439\u043b\u0430 \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 exim.conf \u0438 acl_smtp \u0434\u043b\u044f ACL \u043f\u0440\u0430\u0432\u0438\u043b.<br \/>  \u0422\u0430\u043a\u0436\u0435 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0440\u043e\u0443\u0442\u0435\u0440 \u0438 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442 \u0434\u043b\u044f mailman.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">exim.conf<\/b><\/p>\n<div class=\"spoiler_text\">CONFIG_PREFIX=\/etc\/exim<br \/>  ACL_PREFIX=CONFIG_PREFIX\/acls #\u0437\u0434\u0435\u0441\u044c \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432\u0441\u0435 ACL \u043a\u043e\u043d\u0444\u0438\u0433\u0438<br \/>  DB_PREFIX=\/var\/spool\/exim\/db #\u0434\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c tmpfs<\/p>\n<p>  # \u0428\u0430\u0431\u043b\u043e\u043d\u044b \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u043e\u0439 Exim, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043b\u0435\u0433\u043a\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c \u0441\u043b\u043e\u0432\u043e\u043c.<br \/>  # \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0434\u043b\u044f mailman<br \/>  MM_HOME=\/var\/lib\/mailman<br \/>  MM_UID=mailman<br \/>  MM_GID=mailman<br \/>  MM_WRAP=\/usr\/lib\/mailman\/mail\/mailman<br \/>  MM_LISTCHK=MM_HOME\/lists\/${lc::$local_part}\/config.pck<\/p>\n<p>  ldap_default_servers = \/var\/run\/openldap\/slapd.sock: 192.168.0.1 #\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u0430\u043a \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0442\u044c\u0441\u044f \u043a \u043b\u0434\u0430\u043f-\u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c, \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a fallback.<\/p>\n<p>  INTERFACE = your_external_ip #\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0430\u0439\u043f\u0438, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0441\u0435\u0442\u044c exim<br \/>  BASEDN = dc=domain,dc=com #basedn \u043b\u0434\u0430\u043f \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/p>\n<p>  # \u0412 \u044d\u0442\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0441\u0430\u043c\u044b\u0435 \u0432\u0430\u0436\u043d\u044b\u0435 \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u044b, \u0437\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b Exim<\/p>\n<p>  #\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0430\u043b\u044c\u044f\u0441\u0430, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 \u0430\u0434\u0440\u0435\u0441 \u0430\u043b\u044c\u044f\u0441\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 mail \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 aliases, \u0430\u043b\u044c\u044f\u0441 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u0443 VirtualMailAlias \u0438 \u0438\u043c\u0435\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 TRUE \u0434\u043b\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 accountActive<br \/>  CHECK_1 = ${lookup ldap {user=\u00abuid=exim,ou=services,dc=domain,dc=com\u00bb pass=*** ldap:\/\/\/ou=aliases,dc=domain,dc=com?mail?sub?(&#038;(objectClass=VirtualMailAlias)(accountActive=TRUE)(mail=${quote_ldap:$local_part@$domain}))} }<\/p>\n<p>  #\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 mail \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 people, \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442\u044c \u043a \u043a\u043b\u0430\u0441\u0441\u0443 VirtualMailAccount \u0438 \u0438\u043c\u0435\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 TRUE \u0434\u043b\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 accountActive<br \/>  CHECK_2 = ${lookup ldap {user=\u00abuid=exim,ou=services,dc=domain,dc=com\u00bb pass=*** ldap:\/\/\/ou=people,dc=domain,dc=com?mail?sub?(&#038;(objectClass=VirtualMailAccount)(accountActive=TRUE)(mail=${quote_ldap:$local_part@$domain}))} }<\/p>\n<p>  #\u0421\u043f\u0438\u0441\u043e\u043a \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u0430\u043b\u044c\u044f\u0441\u0430, \u043a\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u0443, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0442\u0440\u0438\u0431\u0443\u0442\u0430 maildrop<br \/>  CHECK_DATA = ${lookup ldapm {user=\u00abuid=exim,ou=services,dc=domain,dc=com\u00bb pass=*** ldap:\/\/\/ou=aliases,dc=domain,dc=com?maildrop?sub?(&#038;(objectClass=VirtualMailAlias)(mail=${quote_ldap:$local_part@$domain}))}}<\/p>\n<p>  #\u041f\u0443\u0442\u044c \u043a \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u043c\u0443 \u044f\u0449\u0438\u043a\u0443, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0442\u0440\u0438\u0431\u0443\u0442\u0430 mailbox<br \/>  CHECK_MAILDIR = ${lookup ldap {user=\u00abuid=exim,ou=services,dc=domain,dc=com\u00bb pass=*** ldap:\/\/\/ou=people,dc=domain,dc=com?mailbox?sub?(&#038;(objectClass=VirtualMailAccount)(accountActive=TRUE)(mail=${quote_ldap:$local_part@$domain}))} }<\/p>\n<p>  #\u0422\u0435\u043a\u0441\u0442 OoO \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0442\u0440\u0438\u0431\u0443\u0442\u0430 vacationInfo<br \/>  CHECK_VACATION = ${lookup ldap {user=\u00abuid=exim,ou=services,dc=domain,dc=com\u00bb pass=*** ldap:\/\/\/ou=people,dc=domain,dc=com?vacationInfo?sub?(&#038;(objectClass=VirtualMailAccount)(vacationActive=TRUE)(mail=${quote_ldap:$local_part@$domain}))}}<\/p>\n<p>  #Hack for double commas in OoO message, exim&#8217;s bug 660 #\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0442\u0430\u043a \u0438 \u043d\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438<br \/>  VACATION = ${sg{ ${lookup ldap {user=\u00abuid=exim,ou=services,dc=domain,dc=com\u00bb pass=*** ldap:\/\/\/ou=people,dc=domain,dc=com?vacationInfo?sub?(&#038;(objectClass=VirtualMailAccount)(vacationActive=TRUE)(mail=${quote_ldap:$local_part@$domain}))}} }{,,}{,}}<\/p>\n<p>  domainlist_cache virt_domains = domain.com #\u0442\u0430\u043a \u043a\u0430\u043a \u0443 \u043d\u0430\u0441 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0434\u043e\u043c\u0435\u043d, \u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0435\u0433\u043e. \u0415\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u043c\u0435\u043d\u043e\u0432, \u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0434\u043e\u043c\u0435\u043d\u043e\u0432 \u0438\u0437 \u043b\u0434\u0430\u043f \u0431\u0430\u0437\u044b.<br \/>  domainlist_cache local_domains = localhost: mail.domain.com<br \/>  hostlist relay_from_hosts = 127.0.0.1: 192.168.0.0\/16 <br \/>  addresslist noautoreply_senders = DB_PREFIX\/autoreply.noanswer.db<\/p>\n<p>  sender_unqualified_hosts = 127.0.0.1: 192.168.0.0\/16<br \/>  recipient_unqualified_hosts = 127.0.0.1: 192.168.0.0\/16<\/p>\n<p>  local_interfaces = 0.0.0.0.25: 0.0.0.0.26: 0.0.0.0.465: 0.0.0.0.587: 127.0.0.1.10025<br \/>  tls_on_connect_ports = 465<\/p>\n<p>  acl_smtp_connect = acl_check_connect<br \/>  acl_smtp_helo = acl_check_helo<br \/>  acl_smtp_mail = acl_check_mail<br \/>  acl_smtp_rcpt = acl_check_rcpt<br \/>  acl_smtp_data = acl_check_data<br \/>  acl_smtp_dkim = acl_check_dkim<\/p>\n<p>  accept_8bitmime<br \/>  auth_advertise_hosts = !127.0.0.1 #\u043d\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0442\u044c SMTP AUTH \u043b\u043e\u043a\u0430\u043b\u0445\u043e\u0441\u0442\u0443<br \/>  bounce_message_file = CONFIG_PREFIX\/bounce.msg #\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u043e\u0440\u043c\u0430\u0442 bounce \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0443 \u043c\u0435\u043d\u044f \u0442\u0430\u043a:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">bounce msg<\/b><\/p>\n<div class=\"spoiler_text\">Subject: Mail delivery failed ${if eq{$sender_address}{$bounce_recipient}{: returning message to sender}}<br \/>  ****<br \/>  This message was created automatically by mail delivery software.<\/p>\n<p>  A message ${if eq{$sender_address}{$bounce_recipient}{that you sent }{sent by<\/p>\n<p>  &lt;$sender_address&gt;<\/p>\n<p>  }}could not be delivered to all of its recipients.<br \/>  The following address(es) failed:<br \/>  ****<br \/>  The following text was generated during the delivery attempt(s):<br \/>  ****<br \/>   \u2014 This is a copy of the message, including all the headers. \u2014 ****<br \/>   \u2014 The body of the message is $message_size characters long; only the first<br \/>   \u2014 $return_size_limit or so are included here.<br \/>  ****  <\/div>\n<\/div>\n<p>  bounce_return_size_limit = 100K<br \/>  delay_warning = 15m:1h:99d<br \/>  deliver_queue_load_max = 40<br \/>  disable_ipv6<br \/>  exim_group = vmail #\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b (dovecot, spamassassin, clamav \u0438 \u0442\u0434) \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043f\u043e\u0434 \u043e\u0434\u043d\u0438\u043c gid<br \/>  exim_user = vmail #\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b (dovecot, spamassassin, clamav \u0438 \u0442\u0434) \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043f\u043e\u0434 \u043e\u0434\u043d\u0438\u043c uid <br \/>  headers_charset = UTF-8 #\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c<br \/>  ignore_bounce_errors_after = 0s<br \/>  local_scan_timeout = 0s<br \/>  message_size_limit = 50M<br \/>  never_users = root<br \/>  no_message_logs<br \/>  no_smtp_enforce_sync<br \/>  no_syslog_duplication<br \/>  primary_hostname = mail.domain.com<br \/>  qualify_domain = domain.com<br \/>  queue_only_load = 12<br \/>  queue_run_max = 5<br \/>  recipients_max = 500<br \/>  recipients_max_reject<br \/>  remote_max_parallel = 2<br \/>  return_size_limit = 10000<br \/>  rfc1413_query_timeout = 0s<br \/>  smtp_accept_max = 500<br \/>  smtp_accept_max_per_host = 500<br \/>  smtp_accept_queue = 500<br \/>  smtp_accept_queue_per_connection = 1000<br \/>  smtp_accept_reserve = 15<br \/>  smtp_banner = $primary_hostname ESMTP ready $tod_full<br \/>  smtp_connect_backlog = 40<br \/>  smtp_load_reserve = 20<br \/>  smtp_return_error_details<br \/>  split_spool_directory<br \/>  strip_excess_angle_brackets<br \/>  strip_trailing_dot<br \/>  syslog_facility = mail #\u043b\u043e\u0433\u0438 \u043e\u0442\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f syslog \u0441\u0435\u0440\u0432\u0438\u0441\u0443<br \/>  syslog_processname = exim<br \/>  system_filter = DB_PREFIX\/exim.filter #\u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 exim \u0444\u0438\u043b\u044c\u0442\u0435\u0440, \u0443 \u043c\u0435\u043d\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f<br \/>  timeout_frozen_after = 7d<br \/>  tls_advertise_hosts = !127.0.0.1 #\u043d\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0442\u044c TLS \u043b\u043e\u043a\u0430\u043b\u0445\u043e\u0441\u0442\u0443<\/p>\n<p>  #\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0443\u0442\u044c \u043a \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c<br \/>  tls_certificate = \/etc\/exim\/ssl\/mail_crt_new.pem<br \/>  tls_privatekey = \/etc\/exim\/ssl\/mail_key_new.pem<br \/>  tls_verify_certificates = \/etc\/exim\/ssl\/ca.pem<\/p>\n<p>  #\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0444\u043e\u0440\u043c\u0430\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043f\u0438\u0441\u044c\u043c\u0430<br \/>  received_header_text = \u00abReceived:\\<br \/>   ${if def:sender_rcvhost {from INTERFACE\\n\\t}\\<br \/>   {${if def:sender_ident {from relay }}\\<br \/>   ${if def:sender_helo_name {(helo=${sender_helo_name})\\n\\t}}}}\\<br \/>   by ${qualify_domain}\\<br \/>   id ${message_id}\\<br \/>   ${if def:received_for {\\n\\tfor &lt;$received_for&gt;}}\u00bb<\/p>\n<p>  #\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0430\u043d\u0442\u0438\u0432\u0438\u0440\u0443\u0441 \u0438 \u0430\u043d\u0442\u0438\u0441\u043f\u0430\u043c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u0442\u0430\u043a \u043a\u0430\u043a LDAP \u0437\u0434\u0435\u0441\u044c \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u0442\u043e \u0432\u0441\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443.<br \/>  # av_scanner = clamd:\/tmp\/clamd<br \/>  # spamd_address = 127.0.0.1 783<\/p>\n<p>  begin acl<\/p>\n<p>  #\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043d\u0430\u0448 ACL \u043a\u043e\u043d\u0444\u0438\u0433 (\u0441\u043c \u043d\u0438\u0436\u0435)<br \/>  .include ACL_PREFIX\/acl_smtp<\/p>\n<p>  #\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0440\u043e\u0443\u0442\u0435\u0440\u044b<br \/>  begin routers<\/p>\n<p>  # \u0420\u043e\u0443\u0442\u0435\u0440 \u0434\u043b\u044f \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0439 \u043f\u043e\u0447\u0442\u044b<br \/>  dnslookup:<br \/>   driver = dnslookup<br \/>   domains = !+local_domains: !+virt_domains<br \/>   transport = remote_smtp<br \/>   ignore_target_hosts = 0.0.0.0: 127.0.0.0\/8<br \/>   no_more<\/p>\n<p>  # \u0420\u043e\u0443\u0442\u0435\u0440\u044b \u0434\u043b\u044f \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0439 \u043f\u043e\u0447\u0442\u044b<\/p>\n<p>  #\u041e\u043f\u0438\u0446\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442 \u0434\u043b\u044f amavis (\u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043e\u0434\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u043b\u0443 \ud83d\ude42 )<br \/>  #amavis:<br \/>  # driver = manualroute<br \/>  # condition = ${if or {\\<br \/>  # {eq{$interface_port}{10025}} \\<br \/>  # {eq{$received_protocol}{spam-scanned}}\\<br \/>  # {eq{$sender_address}{}}\\<br \/>  # {eq{$sender_address_domain}{domain.com}}\\<br \/>  # {eq{$sender_address_domain}{kaspersky.com}}\\<br \/>  # {eq{${lc:$dkim_verify_status}}{pass}}\\<br \/>  # {match{$sender_address_local_part}{-bounces}}\\<br \/>  # }{0}{1}}<br \/>  # domains = +virt_domains<br \/>  # senders =!: !postmaster@*: !mailer-daemon@*: !nagios@*: !monit@*<br \/>  # no_verify<br \/>  # no_expn<br \/>  # transport = amavis<br \/>  # route_list = &quot;* localhost byname&quot;<br \/>  # self = send<\/p>\n<p>  autorespond:<br \/>   driver = accept<br \/>   domains = +virt_domains<br \/>   senders =!: !+noautoreply_senders #\u043d\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u0445\u043e\u0441\u0442\u0443 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f\u043c, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0432 autoreply.noanswer.db<br \/>   condition = ${if and {\\<br \/>   {!eq{CHECK_VACATION}{}}\\ #\u043d\u0430\u0448 \u0448\u0430\u0431\u043b\u043e\u043d<br \/>   {!match{$h_precedence:}{junk|bulk|list}}\\ #\u043d\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0430\u043c<br \/>   {!def:header_Auto-Submitted:}\\<br \/>   {!def:header_List-Id:}\\<br \/>   }}<br \/>   no_verify<br \/>   no_expn<br \/>   unseen<br \/>   transport = auto_responder<\/p>\n<p>  #\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u043b\u044c\u044f\u0441\u044b<br \/>  aliases:<br \/>   driver = redirect<br \/>   domains = !+local_domains<br \/>   condition = CHECK_1 #\u0442\u0443\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0434\u0432\u043e\u0439\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 (\u043f\u0435\u0440\u0432\u0430\u044f \u0432 acl_smtp), \u0435\u0441\u043b\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0438\u043c\u0435\u0435\u0442 \u0435\u0449\u0435 \u0438 \u0430\u043b\u044c\u044f\u0441, \u043d\u0438\u0447\u0435\u0433\u043e \u043b\u0443\u0447\u0448\u0435 \u043d\u0435 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b<br \/>   forbid_file<br \/>   forbid_pipe<br \/>   forbid_filter_reply = true<br \/>   data = CHECK_DATA #\u043a\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u0430<br \/>   allow_fail<br \/>   allow_defer<\/p>\n<p>  mailman_router:<br \/>   driver = accept<br \/>   domains = domain.com<br \/>   require_files = MM_LISTCHK #\u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e \u0444\u0430\u0439\u043b\u0443, \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 aliasType=DL, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440<br \/>   local_part_suffix_optional<br \/>   local_part_suffix = -admin: \\<br \/>   -bounces: -bounces+*: \\<br \/>   -confirm: -confirm+*: \\<br \/>   -join: -leave: \\<br \/>   -owner: -request: \\<br \/>   -subscribe: -unsubscribe<br \/>   transport = mailman_transport<\/p>\n<p>  system_aliases:<br \/>   driver = redirect<br \/>   domains = +local_domains<br \/>   errors_to =<br \/>   no_verify<br \/>   data = ${lookup{$local_part}partial0-dbm{DB_PREFIX\/aliases.db}{$value}fail}<br \/>   file_transport = address_file<br \/>   pipe_transport = address_pipe<br \/>   allow_fail<br \/>   allow_defer<\/p>\n<p>  localuser:<br \/>   driver = accept<br \/>   domains = +local_domains: +virt_domains<br \/>   check_local_user<br \/>   transport = dovecot_lda #\u043f\u0435\u0440\u0435\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u043f\u0438\u0441\u044c\u043c\u0430 \u0432 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u044f\u0449\u0438\u043a \u043d\u0430 \u043f\u043b\u0435\u0447\u0438 dovecot lda<br \/>   cannot_route_message = Unknown account #dovecot \u043e\u0442\u0432\u0435\u0442\u0438\u043b \u043d\u0435\u0442, \u0441\u0434\u0430\u0435\u043c\u0441\u044f<br \/>   no_more<\/p>\n<p>  ###############################################################<br \/>  begin transports<br \/>  ###############################################################<\/p>\n<p>  remote_smtp:<br \/>   driver = smtp<br \/>   helo_data = mail.domain.com<br \/>   max_rcpt = 500<br \/>   #\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c DKIM<br \/>   dkim_domain = domain.com<br \/>   dkim_selector = dkim<br \/>   dkim_private_key = DB_PREFIX\/dkim.private.key<br \/>   dkim_canon = relaxed<\/p>\n<p>  auto_responder:<br \/>   driver = autoreply<br \/>   from = &quot;${local_part}@${domain}&quot;<br \/>   to = &quot;${sender_address}&quot;<br \/>   once = &quot;\/var\/spool\/exim\/autoreply\/${local_part}@${domain}&quot;<br \/>   once_repeat = 1d #\u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0432 \u0434\u0435\u043d\u044c, \u0445\u043e\u0442\u044f \u043c\u043e\u0436\u043d\u043e \u043b\u043e\u0433\u0438\u043a\u0443 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0442\u0430\u043a\u0436\u0435 \u0432 LDAP<br \/>   headers = \u00abContent-Type: text\/plain; charset=utf-8\\nContent-Transfer-Encoding: 8bit\u00bb<br \/>   subject = ${rfc2047:Auto-Reply: $h_subject:}<br \/>   text = VACATION #\u043d\u0430\u0448 \u0448\u0430\u0431\u043b\u043e\u043d \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c OoO \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<br \/>   body_only<br \/>   no_return_message<\/p>\n<p>  #\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442 \u0434\u043b\u044f dovecot<br \/>  dovecot_lda:<br \/>   driver = pipe<br \/>   command = \/usr\/libexec\/dovecot\/dovecot-lda -f &quot;$sender_address&quot; -d &quot;$local_part@$domain&quot;<br \/>   home_directory = \/home\/$local_part<br \/>   delivery_date_add<br \/>   envelope_to_add<br \/>   return_path_add<br \/>   log_output<br \/>   log_defer_output<br \/>   return_fail_output<br \/>   freeze_exec_fail<br \/>   temp_errors = 64: 69: 70: 71: 72: 73: 74: 75: 78<\/p>\n<p>  address_pipe:<br \/>   driver = pipe<br \/>   return_output<\/p>\n<p>  address_file:<br \/>   driver = appendfile<br \/>   current_directory = SPOOL<br \/>   home_directory = SPOOL<br \/>   create_directory<br \/>   directory_mode = 0700<br \/>   maildir_format<br \/>   user = vmail<br \/>   group = vmail<br \/>   mode = 0600<br \/>   no_check_owner<br \/>   no_mode_fail_narrower<\/p>\n<p>  address_reply:<br \/>   driver = autoreply<\/p>\n<p>  maillist_pipe:<br \/>   driver = pipe<br \/>   group = mail<br \/>   return_fail_output<br \/>   user = vmail<\/p>\n<p>  mailman_transport:<br \/>   driver = pipe<br \/>   command = MM_WRAP \\<br \/>   &#8216;${if def:local_part_suffix \\<br \/>   {${sg{$local_part_suffix}{-(\\\\w+)(\\\\+.*)?}{\\$1}}} \\<br \/>   {post}}&#8217; \\<br \/>   $local_part<br \/>   current_directory = MM_HOME<br \/>   home_directory = MM_HOME<br \/>   user = MM_UID<br \/>   group = MM_GID<\/p>\n<p>  #amavis:<br \/>   # driver = smtp<br \/>   # port = 10024<br \/>   # allow_localhost<\/p>\n<p>  begin retry<br \/>   * quota<br \/>   * rcpt_4xx senders=: F,1h,10m<br \/>   * * F,2h,10m; G,16h,1h,1.5; F,4d,6h<\/p>\n<p>  #\u0432\u0441\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0440\u0443\u0442\u043e\u0432 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430 \u043e\u0434\u0438\u043d \u044f\u0449\u0438\u043a<br \/>  begin rewrite<br \/>   root@* collector@domain.com Ttbcr<\/p>\n<p>  # \u0430\u0443\u0442\u0435\u043d\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b SMTP AUTH<br \/>  begin authenticators<br \/>  plain:<br \/>   driver = plaintext<br \/>   public_name = PLAIN<br \/>   server_prompts =:<br \/>   server_condition = &quot;${lookup ldap{user=uid=${quote_ldap_dn:$auth2},ou=people,BASEDN pass=${quote:$auth3} \\<br \/>   ldap:\/\/\/ou=people,BASEDN?uid?sub?(&#038;(uid=$auth2)(objectClass=VirtualMailAccount)(accountActive=TRUE))}{yes}fail}&quot;<br \/>   server_set_id = $auth2<\/p>\n<p>  login:<br \/>   driver = plaintext<br \/>   public_name = LOGIN<br \/>   server_prompts = \u00abUsername::: Password::\u00bb<br \/>   server_condition = &quot;${lookup ldap{user=uid=${quote_ldap_dn:$auth1},ou=people,BASEDN pass=${quote:$auth2} \\<br \/>   ldap:\/\/\/ou=people,BASEDN?uid?sub?(&#038;(uid=$auth1)(objectClass=VirtualMailAccount)(accountActive=TRUE))}{yes}fail}&quot;<br \/>   server_set_id = $auth1<\/p><\/div>\n<\/div>\n<p>  \u041e\u0440\u0443\u0434\u0438\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043a\u0430\u043b\u0438\u0431\u0440\u0430 Exim \u2014 \u044d\u0442\u043e Access Control Lists.<br \/>  \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0432\u0441\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0437\u0430\u0442\u0435\u0432\u0430\u043b\u0430\u0441\u044c \u0440\u0430\u0434\u0438 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 smtp_rcpt.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">acl_smtp<\/b><\/p>\n<div class=\"spoiler_text\">acl_check_connect:<br \/>   accept hosts =: +relay_from_hosts: net-dbm;DB_PREFIX\/whitelist_hosts.db<br \/>   deny message = $sender_host_address is listed in $dnslist_domain ${if def:dnslist_text {($dnslist_text)}}<br \/>   dnslists = sbl.spamhaus.org: xbl.spamhaus.org: bl.spamcop.net<br \/>  accept<\/p>\n<p>  acl_check_dkim:<br \/>   warn log_message = DKIM: Sender without DKIM signature<br \/>   sender_domains = gmail.com: autodesk.com: paypal.com<br \/>   dkim_signers = gmail.com: autodesk.com: paypal.com<br \/>   dkim_status = none:invalid:fail<br \/>  accept<\/p>\n<p>  acl_check_helo:<br \/>   accept hosts =: +relay_from_hosts<\/p>\n<p>  #HELO is an open proxy<br \/>   deny condition = ${if and {\\<br \/>   {isip{$sender_helo_name}}\\<br \/>   {eq{$sender_helo_name}{$sender_host_address}}\\<br \/>   }}<br \/>   message = Open Proxy in HELO\/EHLO (HELO was $sender_helo_name)<br \/>   delay = 10s<\/p>\n<p>  #HELO is my hostname<br \/>   deny condition = ${if match{$sender_helo_name}{$primary_hostname}}<br \/>   message = Bad HELO \u2014 Host impersonating [$sender_helo_name]<\/p>\n<p>  #HELO is my address<br \/>   deny condition = ${if eq{$interface_address}{$sender_helo_name}}<br \/>   message = $interface_address is my address<br \/>  accept<\/p>\n<p>  acl_check_mail:<\/p>\n<p>  accept hosts =: +relay_from_hosts<br \/>   discard senders = dbm;DB_PREFIX\/banned_senders.db: dbm;DB_PREFIX\/scammers.db<\/p>\n<p>  #HELO required before MAIL<br \/>   deny condition = ${if eq{$sender_helo_name}{}}<br \/>   message = HELO\/EHLO required before MAIL<\/p>\n<p>  accept<\/p>\n<p>  acl_check_rcpt:<\/p>\n<p>  #stub address<br \/>   discard condition = ${if match{$local_part@$domain}{blackhole@domain.com}} #blackhole \u0430\u043a\u043a\u0430\u0443\u043d\u0442<\/p>\n<p>  deny message = Restricted characters in address<br \/>   local_parts = ^[.]: ^.*[@%!\/|]<\/p>\n<p>  #Reverse DNS check<br \/>   warn condition = ${if and{{def:sender_host_address}{!def:sender_host_name}}{yes}{no}}<br \/>   !hosts =: +relay_from_hosts: net-dbm;DB_PREFIX\/whitelist_hosts.db<br \/>   control = no_pipelining<br \/>   delay = 10s #\u0434\u0435\u043b\u0430\u0435\u043c \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0432 10 \u0441\u0435\u043a\u0443\u043d\u0434 \u0438\u0437 \u0432\u0440\u0435\u0434\u043d\u043e\u0441\u0442\u0438<br \/>   log_message = X-Host-Lookup-Failed: Reverse DNS lookup failed for $sender_host_address<\/p>\n<p>  # RATELIMIT SECTION<\/p>\n<p>  #Keep authenticated users under control<br \/>   warn authenticated = *<br \/>   ratelimit = 100 \/ 5m \/ strict \/ $authenticated_id<br \/>   set acl_m100 = ${eval: ${sg{$sender_rate}{[.].*}{}} \u2014 $sender_rate_limit + 10}s<br \/>   delay = $acl_m100<br \/>   log_message = Ratelimit: Delay $acl_m100 for $authenticated_id. Rate limit $sender_rate \/ $sender_rate_period<\/p>\n<p>  #Limit local senders, exclude mailing-list agent<br \/>   warn condition = ${if !match{$sender_address_local_part}{bounces}}<br \/>   hosts =: 127.0.0.1<br \/>   ratelimit = 1000 \/ 1h \/ per_rcpt \/ strict \/ $sender_host_address<br \/>   set acl_m101 = ${eval: ${sg{$sender_rate}{[.].*}{}} \u2014 $sender_rate_limit}s<br \/>   delay = $acl_m101<br \/>   log_message = Ratelimit: Delay $acl_m101 for $sender_address ($sender_host_address). Rate $sender_rate \/ limit $sender_rate_limit<\/p>\n<p>  #Limit fast senders<br \/>   hosts = !127.0.0.1: +relay_from_hosts<br \/>   ratelimit = 100 \/ 5m \/ per_rcpt \/ strict<br \/>   set acl_m102 = ${eval: ${sg{$sender_rate}{[.].*}{}} \u2014 $sender_rate_limit + 5}s<br \/>   delay = $acl_m102<br \/>   log_message = Ratelimit: Delay $acl_m102 for $sender_address ($sender_host_address). Rate $sender_rate \/ limit $sender_rate_limit<\/p>\n<p>  #Limit DSNs<br \/>   warn condition = ${if and{\\<br \/>   {&lt;{$recipients_count}{0}}\\<br \/>   {!eq{$sender_address_domain}{domain.com}}\\<br \/>   }}<br \/>   senders =: postmaster@*: mailer-daemon@*<br \/>   delay = 10s<br \/>   log_message = Ratelimit: DSN delay 10s for $sender_address ($sender_host_address)<\/p>\n<p>  # END RATELIMIT SECTION<\/p>\n<p>  #Predefined acl variables for smtp_data level<br \/>   warn set acl_m0 = $sender_address_domain<br \/>   warn set acl_m1 = $domain<br \/>   warn set acl_m2 = $sender_host_address<br \/>   warn set acl_m3 = $sender_address<br \/>   warn set acl_m4 = $local_part@$domain<\/p>\n<p>  #Verify recipient for our domains.<br \/>   deny message = Unknown or disabled account<br \/>   domains = +virt_domains<br \/>   !local_parts = postmaster: *-admin: *-bounces: *-bounces+*: *-confirm: *-confirm+* :\\<br \/>   *-join: *-leave: *-owner: *-request: *-subscribe: *-unsubscribe<\/p>\n<p>  #\u0412\u043e\u0442 \u044d\u0442\u0430 \u0442\u0430 \u0441\u0430\u043c\u0430\u044f \u0441\u0442\u0440\u043e\u0447\u043a\u0430, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0441\u0442\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432 \u0438 \u0430\u043b\u044c\u044f\u0441\u043e\u0432 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 check_rcpt, \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043e\u043a.<br \/>   !recipients = CHECK_1: CHECK_2<\/p>\n<p>  accept hosts =: +relay_from_hosts<br \/>   control = dkim_disable_verify<br \/>   #\u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u0430\u0443\u0442\u0435\u043d\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f\u043c \u0434\u0430\u043b\u044c\u0448\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e<br \/>   accept authenticated = *<br \/>   control = dkim_disable_verify<\/p>\n<p>  #\u043a\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u043b\u0435\u0438\u0442\u044c \u043f\u043e\u0447\u0442\u0443, \u0435\u0441\u043b\u0438 \u043d\u0435\u043b\u044c\u0437\u044f, \u0442\u043e 10 \u0441\u0435\u043a\u0443\u043d\u0434 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0441\u0435\u0441\u0441\u0438\u0438.<br \/>   deny message = relay not permitted<br \/>   !domains = +local_domains: +virt_domains<br \/>   delay = 10s<\/p>\n<p>  #\u0422\u0443\u0442 \u043c\u044b \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u043c \u043e\u0442\u0441\u044b\u043b\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u0443 \u0441 \u0447\u0443\u0436\u0438\u0445 \u0445\u043e\u0441\u0442\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043d\u0430\u0448\u0435 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f, \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e<br \/>   #Deny non-authorized senders with our own domain prefix<br \/>   deny condition = ${if match{$sender_address_domain}{domain.com}}<br \/>   !hosts =: +relay_from_hosts: +adobe_hosts: +microsoft_hosts: net-dbm;DB_PREFIX\/whitelist_hosts.db<br \/>   message = Sender domain is not allowed here<br \/>   log_message = Sender $sender_address is not authenticated<\/p>\n<p>  #Dictionary attack protection<br \/>   #Start<br \/>   warn condition = ${if &gt; {${eval:$rcpt_fail_count}}{4}{yes}{no}}<br \/>   log_message = Ratelimit: Detected Dictionary Attack (Let $rcpt_fail_count bad recipients though before engaging)<br \/>   set acl_m7 = 1<\/p>\n<p>  warn condition = ${if eq {${acl_m7}}{1}{1}{0}}<br \/>   ratelimit = 0 \/ 1h \/ strict \/ per_conn<br \/>   log_message = Ratelimit: Increment Connection Ratelimit \u2014 $sender_fullhost because of Dictionary Attack<\/p>\n<p>  drop condition = ${if eq {${acl_m7}}{1}{1}{0}}<br \/>   log_message = Ratelimit: Number of failed recipients exceeded<br \/>   #End<\/p>\n<p>  #\u0437\u0434\u0435\u0441\u044c \u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0430\u043b\u044c\u044f\u0441\u043e\u0432 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c, \u0440\u0430\u0437 \u0432 \u0441\u0443\u0442\u043a\u0438 \u043f\u0430\u0440\u0441\u0435\u0440 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0438\u0437 \u043b\u043e\u0433\u0430 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 lastchange \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 &quot;%Y%m%d&quot; \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0430\u043b\u044c\u044f\u0441\u0430. \u041f\u043e\u0442\u043e\u043c \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u044d\u0442\u043e\u0433\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043b\u0438 \u0430\u043b\u044c\u044f\u0441\u043e\u043c \u0438\u043b\u0438 \u043d\u0435\u0442.<br \/>  \u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0434\u043b\u044f \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432, \u043d\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e log_message, \u043a\u0430\u043a \u0434\u043b\u044f \u0430\u043b\u044c\u044f\u0441\u0430, \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.<br \/>   #Alias statistic <br \/>   warn<br \/>   domains = +virt_domains<br \/>   log_message = ALIAS: $local_part@$domain<br \/>   recipients = CHECK_1<\/p>\n<p>  #\u043e\u0442\u0441\u044b\u043b\u0430\u0435\u043c \u043f\u0438\u0441\u044c\u043c\u043e \u0432 \u0433\u0440\u0435\u0439\u043b\u0438\u0441\u0442<br \/>   #Greylist section<br \/>   defer message = $sender_host_address is not yet authorized to deliver \\<br \/>   mail from &lt;$sender_address&gt; to &lt;$local_part@$domain&gt;. Please try later<br \/>   log_message = Sender $sender_address greylisted<br \/>   domains = +virt_domains<br \/>   !sender_domains = partial1()dbm;DB_PREFIX\/whitelist_grey_domains.db<br \/>   !authenticated = *<br \/>   condition = ${readsocket{\/var\/run\/greylistd\/socket}\\<br \/>   {&#8212;grey %s $sender_address $local_part@$domain}{5s}{}{false}}<\/p>\n<p>  accept<\/p>\n<p>  acl_check_vrfy_expn_etrn:<\/p>\n<p>  accept hosts = 127.0.0.1<\/p>\n<p>  deny<\/p>\n<p>  acl_check_data:<\/p>\n<p>  #\u041a\u043e\u0433\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c spamassassin\u0443, \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0435\u043c \u0442\u044d\u0433\u0430 SPAM \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043f\u0438\u0441\u044c\u043c\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0441\u0430\u043c Exim.<\/p>\n<p>  \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 exim.filter \u0442\u043e\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">exim.filter<\/b><\/p>\n<div class=\"spoiler_text\">if first_delivery then<br \/>  headers remove X-Spam-Score:X-Spam-Report:X-Spam-Checker-Version:X-Spam-Status:X-Spam-Level<\/p>\n<p>  if &quot;${if def:header_X-New-Subject: {there}}&quot; is there<br \/>  then<br \/>   headers remove Subject<br \/>   headers add \u00abSubject: $rh_X-New-Subject:\u00bb<br \/>   headers remove X-New-Subject<br \/>  endif<\/p>\n<p>  endif<\/p><\/div>\n<\/div>\n<p>  #<br \/>  # no antispam check for relay hosts and authenticated users<br \/>  # accept hosts =: +relay_from_hosts<br \/>  # accept authenticated = *<br \/>  #<br \/>  # Antispam scan<br \/>  # warn<br \/>  # condition = ${if and {\\<br \/>  # {&lt;{$message_size}{50k}}\\<br \/>  ## {!eq{${mask:$acl_m2\/16}}{192.168.0.0\/16}}\\<br \/>  # {!eq{$sender_address}{}}\\<br \/>  ## {!match_address{$sender_address}{dbm;DB_PREFIX\/whitelist_spam_senders.db}}\\<br \/>  # {!match_domain{$acl_m0}{partial1()dbm;DB_PREFIX\/whitelist_grey_domains.db}}\\<br \/>  ## {match_domain{$acl_m1}{dbm;DB_PREFIX\/domains_spam.db}}\\<br \/>  # }}<br \/>  # spam = nobody:true\/defer_ok<br \/>  # set acl_m6 = $spam_score_int<\/p>\n<p>  # add new subj for global exim filter<br \/>  # message = X-New-Subject: SPAM[$spam_score_int\/80]: $rh_subject:<br \/>  # condition = ${if and {\\<br \/>  # {def:spam_score_int}\\<br \/>  # {&gt;{$spam_score_int}{80}}\\<br \/>  # }}<\/p>\n<p>  accept  <\/div>\n<\/div>\n<p>  \u0412\u043e\u0442, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0438 \u0432\u0441\u0435.<\/p>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Exim, \u043e\u0442\u0441\u044b\u043b\u0430\u0435\u043c \u043f\u0438\u0441\u044c\u043c\u043e ipupkin\u0443, \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043b\u043e\u0433\u0438\u2026             <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/262101\/\"> http:\/\/habrahabr.ru\/post\/262101\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>             \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Exim, Dovecot \u0438 OpenLDAP \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u043e\u0435\u0433\u043e \u043e\u043f\u044b\u0442\u0430 \u0441 \u044d\u0442\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0411\u044b\u0442\u044c \u043c\u043e\u0436\u0435\u0442, \u043a\u0442\u043e-\u0442\u043e \u043d\u0430\u0439\u0434\u0435\u0442 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0447\u0442\u043e-\u043b\u0438\u0431\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u0438 \u043d\u043e\u0432\u043e\u0435 \u2014 \u0432 \u044d\u0442\u043e\u043c \u0438 \u0431\u044b\u043b\u0430 \u0446\u0435\u043b\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0433\u043e howto \u043d\u0430 \u0434\u0430\u043d\u043d\u0443\u044e \u0442\u0435\u043c\u0443.<\/p>\n<p>  \u041f\u043e\u0447\u0435\u043c\u0443 Exim \u0438 OpenLDAP, \u0430 \u043d\u0435 Postfix \u0438 MySQL, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440? Postfix \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb, \u043d\u043e \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e-\u0442\u043e \u043d\u0435\u043e\u0440\u0434\u0438\u043d\u0430\u0440\u043d\u043e\u0435, \u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u043a\u043e\u0440\u043e Postfix \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u0435\u043f\u043e\u0432\u043e\u0440\u043e\u0442\u043b\u0438\u0432\u043e\u0433\u043e \u043c\u043e\u043d\u0441\u0442\u0440\u0430, \u043e\u0431\u0432\u0435\u0448\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u043b-\u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438, Exim \u0436\u0435 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0447\u0443\u0434\u043e\u0432\u0438\u0449\u043d\u044b\u043c \u043f\u043e \u0441\u0438\u043b\u0435 \u043c\u0435\u0442\u0430-\u044f\u0437\u044b\u043a\u043e\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0431\u0435\u0437 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0438 \u043a\u043e\u0441\u0442\u044b\u043b\u0435\u0439. MySQL \u044f \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043b \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u043c \u0434\u043b\u044f \u043c\u043e\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 \u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u043b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c OpenLDAP, \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f LDAP. Dovecot \u043e\u0447\u0435\u043d\u044c \u0448\u0443\u0441\u0442\u0440\u044b\u0439 \u0438 \u043b\u0435\u0433\u043a\u0438\u0439 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043f\u043b\u044e\u0441 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0441 Exim, \u0442\u0430\u043a \u0438 \u0441 OpenLDAP.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-260977","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/260977","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=260977"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/260977\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=260977"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=260977"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=260977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}