“Virtuální” atributy v adresářovém serveru
Pro uživatele používáme adresářový server (~LDAP) z CentOSu. V LDAPu máme všechny uživatelské účty jak pro maily, tak i pro upload na web případně další služby. Pro každý mailový účet jsou v LDAPu vedené informace o kvótě, kterou přebírá Dovecot. Vznikl požadavek na nastavení doménových kvót, nikoliv jen pro jednotlivé schránky. Ke každému mailovému účtu je tedy nutné přidat informaci o celkovém místě, které může doména využívat.
Pro uživatele používáme adresářový server (~LDAP) z CentOSu. V LDAPu máme všechny uživatelské účty jak pro maily, tak i pro upload na web případně další služby. Pro každý mailový účet jsou v LDAPu vedené informace o kvótě, kterou přebírá Dovecot. Vznikl požadavek na nastavení doménových kvót, nikoliv jen pro jednotlivé schránky. Ke každému mailovému účtu je tedy nutné přidat informaci o celkovém místě, které může doména využívat. Ke každému mailovému účtu je to kvůli dovecotu, neumí se (nebo nevím jak) zeptat vícekrát na jednotlivé kvóty. Jenže zapisovat jednu hodnotu, která se vztahuje k doméně, ke každému z mailových účtů je čuňárna. Muselo by se to při každé změně všude přepisovat. Snadnější je schopností vlastností adresářového serveru aby informace přenášel z jednoho místa – ze záznamu domény.
Funkce, která to v adresářovém serveru zajišťuje, se jmenuje “Class of Service”. Docela dobrý popis včetně příkladů je v následujících dokumentech:
V našem případě jsem se rozhodl pro “Indirect CoS”, ke každé mailové schránce uvádíme záznam o doméně do které patří, tento záznam je uveden jako DN. Z této domény si pak přes CoS vytahujeme kvótu.
[img_assist|nid=84|title=Directory Server – Indirect CoS|desc=|link=none|align=center|width=784|height=371]
Ukázka naší definice COS
dn: cn=domenovaKvotaCOS,o=sluzby,o=hosting description: generovani domenove kvoty k zaznamu uzivatele objectClass: top objectClass: ldapsubentry objectClass: cossuperdefinition objectClass: cosIndirectDefinition cosIndirectSpecifier: Domena cosAttribute: DomenovaKvota override cn: domenovaKvotaCOS
Nedivte se názvům atributů, použil jsem jen něco pro příklad.
objectClass...
– volbou objectClass určíme jaký druh CoS používámecosIndirectSpecifier: Domena
– tímto si určíme, že DN objektu ze kterého budeme tahat hodnotu “virtuálního” atributuDomenovaKvota
je v atributuDomena
. U každé mailové schránky musíme zapsat do atributu Domena celé DN záznamu odkud se bude hodnota virtuálního atributu DomenovaKvota brát.cosAttribute: DomenovaKvota override
– Definice “virtuálního” atributu a jak se bude zacházet s hodnotou převzatou z “šablony” (objektu na který se odkazujeme v atributuDomena
). Override určuje, že převzatá doména přepisuje případnou lokální hodnotu. V odkazované dokumentaci máte všechny možnosti.