abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 00:22 | Nasazení Linuxu

Společnost Samsung oznámila, že skrze dokovací stanici DeX a aplikaci Linux on Galaxy bude možno na Samsung Galaxy S8 a S8+ a Galaxy Note 8 provozovat Linux. Distribuce nebyly blíže upřesněny.

Phantom Alien | Komentářů: 1
včera 23:55 | Komunita

Společnost Librem na svém blogu oznámila, že jejich notebooky Librem jsou nově dodávány se zrušeným (neutralized and disabled) Intel Management Engine (ME). Aktualizací corebootu na již prodaných noteboocích lze Management Engine také zrušit. Více v podrobném článku.

Ladislav Hagara | Komentářů: 0
včera 21:44 | Nová verze

Organizace Apache Software Foundation (ASF) na svém blogu slaví páté výročí kancelářského balíku Apache OpenOffice jako jejího Top-Level projektu. Při této příležitosti byl vydán Apache OpenOffice 4.1.4 (AOO 4.1.4). Podrobnosti v poznámkách k vydání. Dlouhé čekání na novou verzi tak skončilo.

Ladislav Hagara | Komentářů: 1
včera 19:22 | Pozvánky

Již příští týden - 26. a 27. října se v Praze v hotelu Olšanka odehraje OpenWRT Summit. Na webu konference naleznete program a možnost zakoupení lístků - ty stojí 55 dolarů. Čtvrtek bude přednáškový a v pátek se budou odehrávat převážně workshopy a meetingy.

Miška | Komentářů: 0
včera 13:44 | Nová verze

Bylo vydáno Ubuntu 17.10 s kódovým názvem Artful Aardvark. Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Lubuntu Next, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 5
včera 13:00 | Komunita

MojeFedora.cz informuje, že Fedora 27 dostane podporu pro AAC. Podpora multimediálních formátů je ve výchozí instalaci Fedory tradičně limitovaná kvůli softwarovým patentům, ale desktopový tým Red Hatu se ji i tak snaží v poslední době co nejvíce rozšířit. Už nějaký čas obsahuje kodeky pro MP3, H.264, AC3 a nyní byl přidán také kodek pro další velmi rozšířený zvukový formát – AAC.

Ladislav Hagara | Komentářů: 2
18.10. 23:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 145. brněnský sraz, který proběhne v pátek 20. října od 18:00 hodin v restauraci Time Out na adrese Novoměstská 2 v Řečkovicích. Jedná se o poslední sraz před konferencí OpenAlt 2017, jež proběhne o víkendu 4. a 5. listopadu 2017 na FIT VUT v Brně. Běží registrace účastníků.

Ladislav Hagara | Komentářů: 0
18.10. 21:44 | Nová verze

Byla vydána verze 5.2.0 multiplatformního virtualizačního nástroje Oracle VM VirtualBox. Jedná se o první stabilní verzi z nové větve 5.2. Z novinek lze zmínit například možnost exportování VM do Oracle Cloudu, bezobslužnou instalaci hostovaného systému nebo vylepšené GUI. Podrobnosti v seznamu změn. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 2
18.10. 14:00 | Zajímavý projekt

Byl spuštěn Humble Down Under Bundle. Za vlastní cenu lze koupit multiplatformní hry The Warlock of Firetop Mountain, Screencheat, Hand of Fate a Satellite Reign. Při nadprůměrné platbě (aktuálně 3,63 $) také Hacknet, Hacknet Labyrinths, Crawl a Hurtworld. Při platbě 12 $ a více lze získat navíc Armello.

Ladislav Hagara | Komentářů: 0
18.10. 13:00 | Nová verze

Google Chrome 62 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 62.0.3202.62 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 35 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 4
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (11%)
 (1%)
 (1%)
 (1%)
 (74%)
 (12%)
Celkem 109 hlasů
 Komentářů: 7, poslední včera 23:06
    Rozcestník

    Doručovací agent a Plugin quota

    4. 2. 2010 | Lukáš Jelínek | Sítě | 11874×

    Plugin quota

    link

    Někdo se v tento okamžik může zcela oprávněně zeptat: „A k čemu je to vlastně dobré? Vždyť úplně stejně to fungovalo i dříve, tak proč tam vřazovat ještě další program a zvyšovat tak zátěž serveru?“ Odpověď na tuto otázku je jednoduchá – spočívá ve využití zásuvných modulů (pluginů), které teprve dávají nově vytvořené konstrukci pořádnou sílu.

    Pluginy nejsou výsadou doručovacího agenta, používají je i další služby v programu Dovecot. Ovšem pokud se nepoužívá doručovací agent, je jejich smysl výrazně omezený, protože nelze pokrýt doručování zpráv, které je v řadě ohledů klíčové.

    Základní konfigurace

    link

    Jedním ze základních a často používaných pluginů je quota. Jak název napovídá, slouží k nastavení uživatelských kvót, tedy limitů na uživatelské schránky. Samotný Postfix totiž umožňuje pouze globální nastavení limitu, a to ještě jen pro doručované zprávy (přesněji jen pro ty, které poštovní klient dosud nestáhl). Neumí však rozlišovat jednotlivé uživatele, hlídat limity u celé schránky (tedy například nepostihne odeslanou poštu, koncepty apod.) ani dávat určitým složkám zvláštní vlastnosti (například prostor navíc pro zprávy v koši).

    Plugin quota pro Dovecot LDA však podporuje širokou škálu funkcí, umožňujících velmi podrobně definovat, jak smí jednotliví uživatelé se svou schránkou nakládat. Tento plugin však není omezen jen na LDA, mohou ho využívat i služby IMAP a POP3, což je důležité pro správné uplatňování kvót.

    Každý plugin (musí být samozřejmě nainstalován, o to se ale u základních pluginů postará příslušný balíček) musí být pro své fungování vždy aktivován. To se provádí v jednotlivých sekcích souboru dovecot.conf (v každé sekci je uveden vždy jen řádek, který se mění – zbývající část zůstává beze změny):

    protocol imap {
      mail_plugins = quota imap_quota
    }
    
    protocol pop3 {
      mail_plugins = quota
    }
    
    protocol lda {
      mail_plugins = quota
    }
    

    Jak si můžete všimnout, plugin je aktivován v sekcích všech služeb, které se používají. U protokolu IMAP se zapíná ještě jeden další plugin: imap_quota. Ten slouží k zapnutí informativní funkce, díky které server poskytuje klientům informace o velikosti kvóty a aktuálním využití – je to velmi užitečné, protože uživatelé (například v programech Mozilla Thunderbird, RoundCube apod. – zkrátka ve všech, které tuto nepovinnou funkcionalitu IMAP podporují) vidí, jak jsou na tom s prostorem ve schránce či složce.

    Další krok spočívá v konfiguraci pluginu jako takového. Plugin quota podporuje řadu různých způsobů, jak pracovat s kvótami. Může využít kvóty souborového systému, sčítat velikosti souborů v adresářích, ukládat údaje do databází nebo využít metodu Maildir++.

    Právě poslední z uvedených způsobů jen nejflexibilnější, předpokládá ale samozřejmě ukládání zpráv příslušným způsobem (Maildir, s tím, že si server vytváří metadata Maildir++, v tomto případě konkrétně v souboru maildirsize). Pokud stačí nadefinovat jednu společnou kvótu, je to pak velmi jednoduché:

    plugin {
      quota = maildir:Mailbox quota
      quota_rule = *:storage=1GB
    }
    

    Pluginy se konfigurují v sekci plugin. V tomto případě se prvním řádkem nastaví metoda Maildir++ a kvóta se pojmenuje „Mailbox quota“ (tento text se zobrazuje v klientech; může být v zásadě libovolný). Druhý řádek říká, že se jedná o obecně platnou definici (hvězdička) a že úložiště každého uživatele má velikost 1 GB.

    Drobná poznámka pro puristy a rýpaly: Dovecot používá jednotky MB, GB apod. ve smyslu 1020, 1030 atd., čili namísto MiB, GiB apod., jak by to mělo být správně. Je tedy potřeba s tím počítat.

    Toto je příklad toho asi nejjednoduššího, co plugin dokáže. Kvóty si lze definovat i podrobněji:

    plugin {
      quota_rule = *:storage=1GB
      quota_rule2 = *:messages=10000
      quota_rule3 = Trash:storage=10%%
    }
    

    Toto zajišťuje dvě nové věci navíc. Jednak omezuje počet zpráv ve schránce na 10000 (běžně to není potřeba, leda jako ochrana proti vyčerpání i-nodů na některých souborových systémech). Další nové pravidlo přidává dodatečný prostor 10 % pro zprávy v koši – to má za účel umožnit uživateli, který vyčerpal běžnou kvótu, aby přesunul některé zprávy do koše k následnému smazání (přesun se standardně provádí kopírováním, které by při vyčerpání kvóty jinak nebylo možné).

    Zde pozor na tři věci – jednak se „koš“ na zprávy nemusí jmenovat Trash (standardně ano, ale třeba Microsoft Outlook si ve výchozím nastavení vytvoří vlastní složky s jinými názvy). Dále je potřeba nezapomenout na zdvojení symbolu procent, protože jednoduchý symbol je určen pro uvození proměnných (například %u, %n, %r apod.). A konečně poslední úskalí spočívá v tom, že zprávy v koši se stále počítají do obecné kvóty, jen je pro koš tato kvóta vyšší o oněch 10 %. Proto pokud bude v koši např. 1,05 GB, půjde tam přemísťovat zprávy, ale do ostatních složek nikdo nic nevloží.

    Přestože si uživatelé mnohdy mohou snadno zjišťovat aktuální zaplnění schránky, ne vždy to dělají a jsou později překvapeni, že jim přestanou chodit zprávy. Proto není špatné zařídit, aby byli včas varováni – pak už je jen jejich problém, že si včas nesmažou zbytečné zprávy nebo si nezajistí zvýšení kvóty. Konfigurace vypadá takto:

    plugin {
      quota_warning = storage=95%% /usr/local/bin/quota-warn-95.sh
      quota_warning2 = storage=80%% /usr/local/bin/quota-warn-80.sh
    }
    

    Jak je z příkladu zřejmé, varování je nutno zajistit externě, tedy například skriptem nebo programem. Lze definovat libovolný počet úrovní (zde jsou použity dvě), ale je třeba mít na paměti, že pokud se v jediný okamžik překročí více prahů současně (např. přijde extrémně velká zpráva), uplatní se jen ten nejvyšší. Konstrukce názvů (quota_warning, quota_warning2 atd.) je obdobná jako u quota_rule.

    Jak konkrétně bude mechanismus varování vypadat, je čistě na správci serveru. Může mít formu shellového nebo třeba PHP skriptu, který pošle uživateli e-mailovou zprávu (parametry se předávají přes proměnné prostředí, případně přes příkazovou řádku). Příklad takového řešení najdete v dokumentaci k programu Dovecot. Varování však lze řešit i jinak, třeba zprávou poslanou přes Jabber nebo SMS, to už záleží na vhodnosti toho kterého řešení pro konkrétní podmínky.

    Kvóty pro jednotlivé uživatele

    link

    To nejzajímavější ale zatím zůstávalo stranou. Často je totiž potřeba rozlišovat kvóty podle uživatelů (nebo jejich skupin) – i toto je pro plugin quota vysloveně hračkou. Řešení se pochopitelně mírně liší podle toho, jak jsou uživatelé uloženi – zda v souborech, v SQL databázi, v adresáři LDAP apod. Například při řešení pomocí MySQL by stačilo tabulku schránek ze 7. dílu seriálu upravit takto (toto by se použilo při vytváření; pokud již tabulka existuje, musí se samozřejmě změnit pomocí příkazu ALTER TABLE):

    CREATE TABLE Mailboxes
    (
    mb_id INTEGER AUTO_INCREMENT,
    dom_id INTEGER NOT NULL,
    mb_user VARCHAR(100) NOT NULL,
    mb_password VARCHAR(100) NOT NULL,
    mb_enabled BOOL NOT NULL DEFAULT 1,
    mb_quota INTEGER NOT NULL DEFAULT 104857600,
    PRIMARY KEY (mb_id),
    FOREIGN KEY (dom_id) REFERENCES Domains (dom_id) ON DELETE CASCADE ON UPDATE CASCADE,
    UNIQUE INDEX (dom_id, mb_user)
    )
    ENGINE=InnoDB;
    

    Přibyl jeden atribut (mb_quota) s velikostí kvóty vyjádřenou v bajtech a s výchozí hodnotou 100 MB. Ten se využije jako kvóta pro daného uživatele (schránku). Je samozřejmě potřeba patřičně upravit také přístupová práva:

    GRANT SELECT (mb_id, dom_id, mb_user, mb_password, mb_enabled, mb_quota) ON Mailboxes TO 'dovecot'@'localhost';
    

    Dalším krokem je úprava databázového dotazu v souboru mysql.conf. Přibude v něm kvóta vyjádřená ve formátu používaném pluginem quota. Upravený dotaz by mohl vypadat například takto:

    user_query = SELECT 100 AS uid, 100 AS gid, '/var/mail/virtual/%d/%n' AS home, \
      CONCAT('*:storage=', mb_quota, 'B') AS quota_rule
      FROM Mailboxes NATURAL JOIN Domains \
      WHERE mb_enabled=1 AND dom_enabled=1 AND mb_user='%n' AND dom_name='%d'
    

    Pokud by mělo být pravidel více, jednoduše se přidají další aliasy quota_rule2, quota_rule3 atd. podle potřeby. Pochopitelně není potřeba mít velikost definovánu zrovna v bajtech, lze použít libovolné větší jednotky a upravit podle toho textový řetězec pro plugin.

    Řešení pro uživatele v souboru nebo pro LDAP by bylo velmi podobné. U uživatelů v souboru by se na konec přidal volitelný parametr (následující podoba vychází z 6. dílu seriálu):

    franta@moje.domena:{plain}nejakeheslo:100:100:::userdb_quota_rule=*:storage=100MB
    …
    

    Podobně by to vypadalo i pro LDAP. Tam je ale potřeba nejdřív vyřešit přiřazení vhodného atributu. Pokud se pro uložení uživatelů používá třída inetOrgPerson (viz 8. díl seriálu), nezbývá než sáhnout po některém z nevyužitých atributů, protože atribut určený přímo pro toto použití zde není. Nevyužívá-li se třeba atribut s číslem řidičského průkazu (carLicense), lze ho použít pro uložení kvóty, a to i včetně jednotky (pozor ale na syntaxi!). Konfigurační soubor ldap.conf z 8. dílu se tak změní v tomto:

    user_attrs = =home=/var/mail/virtual/%d/%n,carLicense=quota_rule=*:storage=%$
    

    Plugin pro Sieve

    link

    Další velmi zajímavý a užitečný plugin je ten, který se stará o zpracování pošty podle RFC 5228 – tedy podle pravidel napsaných v jazyce Sieve. Toto je možná ten úplně největší důvod, proč vůbec používat doručovacího agenta. Protože jde o velmi komplexní technologii, zaslouží si samostatný díl seriálu – a to bude ten příští.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    4.2.2010 05:52 vasek125
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 13 (doručovací agent)
    Hodilo by se ještě říct, že "postmaster_address" je povinná volba, bez které dovecot nebude doručovat. Docela jsem se divil, když mi bez toho házel fatal error.
    Luk avatar 4.2.2010 13:39 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 13 (doručovací agent)
    Tohle je detail, který mi jaksi unikl. Nějak jsem to bral tak, že pokud se to nenastaví, Dovecot si adresu nastaví automaticky. Ale jak je vidět, není tomu tak. Protože obecně raději nastavuji více než méně (nemám rád, když je hodnota některého významného parametru ponechána na uvážení vývojáře - v příští verzi se může default změnit), ani mě nenapadlo zkoušet postmaster_address vynechat.
    LinuxMarket - linuxový e-shop | LinuxEXPRES - linuxový magazín | OpenOffice.cz - portál uživatelů OpenOffice/LibreOffice
    12.5.2010 20:13 Majk
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 13 (doručovací agent)
    Ještě doplním, že pokud neprovozujete postfix pod rootem ( a to opravdu nedělejte :( ), je buď potřeba zkonfigurovat auth-master nebo nastavit setuid pro program deliver. Jinak nebude doručování fungovat.

    chmod u+s deliver
    18.6.2010 18:59 Kevin
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 13 (doručovací agent)
    Přesně na tento problém jsem narazil a dál jsem s tim nehnul, příkaz chmod U+s deliver nepomohl, ví někdo jak s tim hnout?
    18.7.2011 10:56 Jaroslav
    Rozbalit Rozbalit vše Ubuntu SERVER 10.04 LTS
    Zdravím, podle tohoto seriálu se mi podařilo rozjet v podstatě úplně všechno a jsem za něj moc vděčný, ale u LDA jsem se zasekl. Po delším zkoumání jsem zjistil toto (pro virtualní uživatele na výše uvedené distribuci):

    1. v postfix/master.cf je jiná cesta k programu deliver

    dovecot unix - n n - - pipe

    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}

    nastavení dovecot/dovecot.conf:

    2. dovecot neví, co je mailbox_location, místo toho akceptuje

    mail_location = maildir:/var/mail/virtual/%d/%n/Maildir

    3. pluginy jsou jinde:

    mail_plugin_dir = /usr/lib/dovecot/modules/lda

    4. práva pro doručovacího agenta je třeba nastavit pořádně v sekci auth default { socket listen {:
    master {
    	path = /var/run/dovecot/auth-master
    	mode = 0600
    	user = vmail
    	group = vmail
    	}
    
    5. procesu dovecot/deliver je třeba zajistit práva k otevření konfiguračního souboru, jinak do logu dostanete chybu

    ...postfix/pipe ... Fatal: open(/etc/dovecot/dovecot.conf) failed: Permission denied

    Takže: chown root:vmail /etc/dovecot/dovecot.conf

    ---

    Ostatní v návodu platí.

    Když se všechno podaří, měli by se vám v mail.log objevovat hlášky:

    dovecot: deliver(...@....cz): msgid=<...>: saved mail to INBOX

    postfix/pipe: ...: to=<...@....cz>, relay=dovecot, delay=0.27, delays=0.1/0/0/0.17, dsn=2.0.0, status=sent (delivered via dovecot service)
    18.7.2011 12:12 Jaroslav
    Rozbalit Rozbalit vše Re: Ubuntu SERVER 10.04 LTS
    Ještě doplnění: mail_location musí být bez Maildir na konci. Jinak nefunguje IMAP - schránky se nenajdou.

    stačí jen:

    mail_location = maildir:/var/mail/virtual/%d/%n

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.