net-nds/openldap-2.4.40-r3::x-overlay USE="berkdb crypt gnutls overlays samba sasl ssl syslog mail-mta/exim-4.85::gentoo USE="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="bzip2 caps ldap maildir managesieve pam sieve ssl zlib
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 # include /etc/openldap/schema/phamm.schema include /etc/openldap/schema/phamm-vacation.schema pidfile /run/openldap/slapd.pid argsfile /run/openldap/slapd.args # 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 # bdb , , . cachesize 100000 suffix "dc=domain,dc=com" rootdn "uid=manager,dc=domain,dc=com" # rootpw **** directory /var/lib/openldap-data checkpoint 32 30 idletimeout 120 writetimeout 120 loglevel none overlay syncprov # syncprov syncprov-checkpoint 100 10 syncprov-sessionlog 100 # 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 # # , limits dn="uid=replicator,ou=services,dc=domain,dc=com" size=unlimited time=unlimited # , phpldapadmin limits dn="uid=ldapadmin,ou=services,dc=domain,dc=com" size=unlimited time=unlimited # exim limits dn="uid=exim,ou=services,dc=domain,dc=com" size=unlimited time=unlimited # nsswitch limits dn="uid=proxyagent,ou=services,dc=domain,dc=com" size=unlimited time=unlimited # access to attrs=userPassword by dn.base="uid=ldapadmin,ou=services,dc=domain,dc=com" write by dn.base="uid=replicator,ou=services,dc=domain,dc=com" read by dn.base="uid=proxyagent,ou=services,dc=domain,dc=com" read by anonymous auth by self write by * none access to attrs=mail by dn.base="uid=ldapadmin,ou=services,dc=domain,dc=com" write by * read access to * by dn.base="uid=ldapadmin,ou=services,dc=domain,dc=com" write by users read by anonymous auth
--- servers/slapd/schema_prep.c 2011-11-25 20:52:29.000000000 +0200 +++ servers/slapd/schema_prep.c 2011-11-29 13:46:57.000000000 +0200 @@ -915,6 +915,7 @@ offsetof(struct slap_internal_schema, si_ad_name) }, { "cn", "( 2.5.4.3 NAME ( 'cn' 'commonName' ) " "DESC 'RFC4519: common name(s) for which the entity is known by' " + "ORDERING caseIgnoreOrderingMatch " "SUP name )", NULL, 0, NULL, NULL, @@ -924,6 +925,7 @@ "DESC 'RFC4519: user identifier' " "EQUALITY caseIgnoreMatch " "SUBSTR caseIgnoreSubstringsMatch " + "ORDERING caseIgnoreOrderingMatch " "SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )", NULL, 0, NULL, NULL, (END)
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 # slapd 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 # sssvlv Outlook idletimeout 120 threads 8 sizelimit 1000 pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args loglevel 0 # 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 # hdb cachesize 100000 suffix "dc=domain,dc=com" rootdn "cn=replicator,ou=services,dc=domain,dc=com" rootpw ***** directory /var/lib/ldap checkpoint 32 30 idletimeout 120 writetimeout 120 overlay sssvlv # TLS, syncrepl syncrepl rid=001 # ID provider=ldaps://domain.com # ldaps:// , starttls self-signed type=refreshOnly interval=00:00:10:00 searchbase="dc=domain,dc=com" scope=sub schemachecking=off bindmethod=simple binddn="uid=replicator,ou=services,dc=domain,dc=com" # posix ou=services, 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 # limits dn="uid=replicator,ou=services,dc=domain,dc=com" size=unlimited time=unlimited # limits users size=unlimited time=unlimited # access to attrs=userPassword by dn.base="uid=ldapadmin,ou=services,dc=domain,dc=com" write by dn.base="uid=replicator,ou=services,dc=domain,dc=com" write by dn.base="uid=proxyagent,ou=services,dc=domain,dc=com" read by anonymous auth by self write by * none access to attrs=mail by dn.base="uid=ldapadmin,ou=services,dc=domain,dc=com" write by dn.base="uid=replicator,ou=services,dc=domain,dc=com" write by * read access to attrs=cn by dn.base="uid=ldapadmin,ou=services,dc=domain,dc=com" write by dn.base="uid=replicator,ou=services,dc=domain,dc=com" write by * read access to * by dn.base="uid=ldapadmin,ou=services,dc=domain,dc=com" write by dn.base="uid=replicator,ou=services,dc=domain,dc=com" write by users read by anonymous auth
<objectClasses> <objectClass id="top"></objectClass> <objectClass id="inetOrgPerson"></objectClass> <objectClass id="posixAccount"></objectClass> # posix <objectClass id="VirtualMailAccount"></objectClass> # phamm <objectClass id="Vacation"></objectClass> # phamm-vacation </objectClasses> <attributes> <attribute id="givenName"> <display>First Name</display> <icon>ldap-uid.png</icon> <order>1</order> <page>1</page> </attribute> <attribute id="sn"> <display>Last Name</display> <onchange>=autoFill(cn;%givenName% %sn%)</onchange> <onchange>=autoFill(uid;%givenName|0-1/l%%sn/l%)</onchange> <onchange>=autoFill(loginShell;/sbin/nologin)</onchange> <onchange>=autoFill(FTPStatus;enabled)</onchange> <order>2</order> <page>1</page> </attribute> <attribute id="cn"> <display>Common Name</display> <order>3</order> </attribute> <attribute id="uid"> <display>UID</display> <onchange>=autoFill(homeDirectory;/home/%uid%)</onchange> <onchange>=autoFill(mailbox;/home/%uid%/Maildir)</onchange> <onchange>=autoFill(mail;%uid%@domain.com)</onchange> <onchange>=autoFill(company;My Company)</onchange> <order>4</order> <spacer>1</spacer> </attribute>
#!/bin/sh PERCENT=$1 USER=$2 cat << EOF | /usr/libexec/dovecot/dovecot-lda -d $USER -o "plugin/quota=maildir:User quota:noenforcing" From: postmaster@domain.com Subject: Your mailbox is $PERCENT% full Content-Type: text/plain; charset="UTF-8" X-Priority: 2 Warning! Your mailbox is now $PERCENT% full. EOF
Source: https://habr.com/ru/post/262101/
All Articles