Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Staronovým vedoucím zůstává Andreas Tille.
Jason Citron končí jako CEO Discordu. Od pondělí 28. dubna nastupuje nový CEO Humam Sakhnini, bývalý CSO Activision Blizzard.
Článek na Libre Arts představuje baskytarový multiefekt Anagram od společnosti Darkglass Electronics. S Linuxem uvnitř (licence, GitHub).
Městský soud v Praze vyhlásil rozsudek, který vyhověl žalobě novináře Jana Cibulky, který s podporou spolku IuRe (Iuridicum Remedium) požadoval omluvu od státu za to, že česká legislativa nařizuje operátorům uchovávat metadata o elektronické komunikaci. To je přitom v rozporu s právem. Stát se musí novináři omluvit a zaplatit náklady řízení. Především je ale součástí přelomové rozhodnutí o nelegálnosti shromažďování dat a o
… více »Americké technologické firmy Apple a Meta Platforms porušily pravidla na ochranu unijního trhu, uvedla včera Evropská komise (EK). Firmám proto vyměřila pokutu – Applu 500 milionů eur (12,5 miliardy Kč) a Metě 200 milionů eur (pět miliard Kč). Komise to oznámila v tiskové zprávě. Jde o první pokuty, které souvisejí s unijním nařízením o digitálních trzích (DMA). „Evropská komise zjistila, že Apple porušil povinnost vyplývající z nařízení
… více »Americká společnost OpenAI, která stojí za chatovacím robotem ChatGPT, by měla zájem o webový prohlížeč Chrome, pokud by jeho současný majitel, společnost Google, byl donucen ho prodat. Při slyšení u antimonopolního soudu ve Washingtonu to řekl šéf produktové divize ChatGPT Nick Turley.
Po roce vývoje od vydání verze 1.26.0 byla vydána nová stabilní verze 1.28.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.28.
Byla vydána nová verze 10.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 211 vývojářů. Provedeno bylo více než 2 800 commitů. Přehled úprav a nových vlastností v seznamu změn.
42 svobodných a otevřených projektů získalo finanční podporu od NLnet Foundation (Wikipedie).
Americký výrobce čipů Intel plánuje propustit více než 20 procent zaměstnanců. Cílem tohoto kroku je zjednodušit organizační strukturu ve firmě, která se potýká s problémy.
Dovecot (název znamená anglicky „holubník“, zřejmě v asociaci na poštovní holuby) je program, který vhodně doplňuje Postfix nebo jiné MTA (např. Sendmail, Exim nebo qmail) zejména o přístup k poště, ale případně i o další funkce. Jeho hlavním úkolem je role IMAP serveru (protokol IMAP 4, revize 1) a POP3 serveru – uvedené protokoly podporuje v plné šíři a ještě různá rozšíření navíc. Obsahuje samozřejmě podporu pro komunikaci přes TLS, a to jak formou explicitního zapnutí TLS pro konkrétní relaci, tak i v implicitní formě na samostatných portech.
Součástí programu Dovecot je také lokální doručovací agent, který může přebírat zprávy od MTA a zajišťovat finální doručení. Je to výhodné zejména v kombinaci s filtrací doručované pošty (technologie Sieve, viz dále) nebo s nastavováním kvót. Dovecot může fungovat také jako autentizační agent (technologie SASL) pro jiné programy, např. pro Postfix. Lze tak snadno centralizovat autentizaci na jedno místo.
Podobně jako Postfix, je i Dovecot v zásadě „jednomužným“ projektem, přestože se na něm do určité míry podílí mnoho lidí a řada firem. Začal ho vyvíjet finský programátor Timo Sirainen z Tampere (kromě programu Dovecot vyvinul též například IRC klienty irssi a irrsi2, komunikační protokol Icecap a pracuje i na dalších projektech). První verze alfa verze (0.93) byla k dispozici v červenci 2002, první ostrá verze (1.0.0) se dočkala vydání až v dubnu 2007, po 5 letech vývoje (jen pro zajímavost, např. jen RC verzí 1.0.0 bylo 32). Nicméně už dlouho před tímto okamžikem byl Dovecot velmi dobře použitelný, byl součástí řady linuxových distribucí a byl nasazován i na produkční servery.
Již verze 1.0 obsahovala velmi dobrou podporu specifikací protokolů a různých
rozšíření, verze 1.1 (vydaná v červnu 2008) dosáhla prakticky stoprocentní
podpory a přinesla i nová rozšíření a různá další vylepšení. Aktuálně je
nejnovější verze 1.2 (v tento okamžik konkrétně 1.2.6) z července 2009. Nových
věcí v této verzi není až tolik, jde hlavně o nová rozšíření protokolu IMAP
a o plnou podporu sdílených schránek a IMAP ACL. 12. října 2009 byla vydána
první alfa verze 2.0, obsahující poměrně zásadní změny v implementaci
a přinášející například podporu protokolu LMTP nebo univerzální administraci
pomocí doveadm
.
Cílem vzniku programu bylo vytvoření bezpečného, nenáročného, stabilního a snadno spravovatelného serveru s maximální podporou standardů. Timo Sirainen svůj důraz na bezpečnost ukázal i tím, že vyhlásil odměnu 1000 eur za nalezení zneužitelné bezpečnostní díry. Na vývoji se podílí řada autorů, vývoj podporují některé firmy, část kódu byla (samozřejmě v souladu s licencí) převzata z hotových produktů. Timo Sirainen je nyní zaměstnán v hostingové firmě Rackspace (dříve Mailtrust), kde se plně věnuje právě vývoji programu Dovecot.
Dovecot je poskytován pod směsí licencí, různé části kódu mají různé licence. Největší část je pod GNU LGPL 2.1 (což je také nejrestriktivnější z použitých licencí), další část pod licencí MIT, něco je public domain a pár komponent má vlastní licence (podobné licenci MIT).
Seznam důvodů bude velmi podobný tomu, který si můžete přečíst u.minulého dílu o Postfixu Je to logické, právě proto se tyto dva programy k sobě hodí.
Dovecot výborně podporuje standardy. Na rozdíl od řady jiných IMAP serverů (u čistých POP3 serverů je situace jiná, vzhledem k primitivnosti protokolu v porovnání s protokolem IMAP), které trpí většími či menšími odchylkami od specifikace protokolu IMAP4rev1, je na tom Dovecot (počínaje verzí 1.1) výborně. Prokazuje to i fakt, že úspěšně prošel všemi ze 403 skriptovaných testů zaměřených na základní IMAP a dalšími 100 testy na rozšíření protokolu (což se v rámci porovnávání podařilo už jen programu Panda IMAP – všechny ostatní trpěly různým počtem chyb). Dovecot navíc podporuje různé workaroundy, kterými se vyrovnává s chybami v implementaci protokolu na straně klientů.
Dovecot je stabilní, robustní a bezpečný. Kromě již zmíněného důrazu při vývoji a vyhlášené odměny na nalezení chyby je bezpečnost řešena podobně jako u programu Postfix – tedy velkou modularitou, minimalizací a separací práv atd. Moduly jsou opět velmi nezávislé a problémy jednoho nemají dopady na fungování těch ostatních.
Dovecot je flexibilní. Lze si ho v širokém rozmezí přizpůsobit, a to například jak z hlediska úložiště zpráv, tak i datových zdrojů, autentizačních metod, podporovaných funkcí atd. Velkou výhodou je možnost velmi snadné migrace z většiny jiných POP3/IMAP řešení, často bez nutnosti jakkoli zasahovat do úložiště a beze změny unikátních identifikátorů zpráv.
Dovecot je škálovatelný. Vzhledem k architektuře programu tento může dobře využít jak stroj s omezenými prostředky (aniž by mu to činilo potíže), tak i rychlý server s dostatkem zdrojů.
Dovecot je funkčně bohatý. Podporuje velkou škálu rozšíření komunikačních protokolů a autentizačních metod, ale má také zásuvné moduly (pluginy) pro další funkce – samozřejmě s tím, že další pluginy lze vytvářet a využívat podle potřeby.
Dovecot je snadno spravovatelný a konfigurovatelný. Konfigurační soubor se do určité míry podobá konfiguraci programu Postfix (parametr=hodnota), je ale hierarchicky členěný (např. sekce autentizace, v ní sekce LDAP apod.). Základní konfigurace sestává z jediného souboru. Pokud se využívá jako zdroj informace SQL databáze nebo LDAP, potřebné údaje se dávají do samostatných souborů. Informace o případných potížích program dává najevo srozumitelnými zprávami.
Dovecot má nízké systémové nároky. Jsou spuštěny jen skutečně využívané komponenty, některé moduly lze sdílet napříč celým serverem, kód není náročný na paměť ani čas procesoru.
Architektura je do značné míry podobná té, kterou má i Postfix. Tedy existuje jeden hlavní program (master), který řídí běh výkonných modulů. Zásadní rozdíl je ale v tom, jak se tato hierarchie spravuje. Zatímco u Postfixu řídí nakládání s moduly správce serveru, u Dovecotu je to program samotný – správce si určí, co všechno (a jak přesně) bude Dovecot dělat, a jeho hlavní program už se postará o to, aby běžely ty správné moduly.
Do určité míry však správce do spouštění modulů zasahuje. Může například určit, jaký počet procesů určitého druhu se bude spouštět nebo jaký počet relací bude obsluhovat – v závislosti na tom, jaké prostředky jsou k dispozici a jak se s nimi má nakládat. I tak ale primární úlohou administrátora zůstává, aby zvolil podporované služby a jejich chování.
Dovecot je schopen fungovat i jako spouštěný na vyžádání (inetd, resp. xinetd), místo hlavního programu se však spouštějí přímo moduly pro daný protokol, které si pak samy spustí další potřebné moduly. Lze to využít pro servery s minimem prostředků, kde se k poště přistupuje jen zřídka.
Na rozdíl od programu Postfix má Dovecot podporu pro pluginy. Dělí se do různých kategorií (konkrétně obecné a specifické pro jednotlivé služby – pro autentizaci, IMAP, POP3 a LDA), základní sada je k dispozici společně s programem, další pluginy lze získat od jiných autorů nebo si je případně i vytvořit podle potřeby.
Dovecot nemá žádné ovládací utility. Nové načtení konfigurace se vynucuje
přímo signálem (SIGHUP
), konfiguraci lze předem zkontrolovat spuštěním
programu se specifickým přepínačem, totéž se týká vypsání nastavených
(nevýchozích) hodnot. Jedinou utilitou je program dovecotpw
, určený ke generování hesel – lze ho využít v případech, kdy se přihlašovací údaje ukládají do souborů.
Dovecot se ke zprávám může dostat v zásadě dvojím způsobem – buď mu je do úložiště vkládá jiný program (např. Postfix nebo procmail), nebo si je tam vkládá sám prostřednictvím doručovacího agenta (LDA). Záleží samozřejmě na tom, o jaké konkrétní úložiště se jedná, nicméně vždy platí, že pokud Dovecot běží, aktualizuje si ihned indexy, které si pro přístup ke zprávám vytváří (buď to udělá přímo LDA, nebo – v případě doručení jiným programem – to Dovecot udělá na základě notifikace pomocí technologie inotify nebo dnotify). Poškodí-li se nebo odstraní indexy (např. smazáním příslušných souborů), Dovecot si je automaticky opraví.
Při přístupu uživatele ke zprávám začíná relace samozřejmě vždy autentizací. Na připojení uživatelů čekají přihlašovací moduly (imap-login
a pop3-login
). Po připojení začne autentizace, kterou provede modul dovecot-auth
; ten si může spustit ještě další pracovní instance, potřebuje-li provést blokující operace, např. dotazy do databáze. Po úspěšné autentizaci uživatelskou relaci přebírá modul imap
, resp. pop3
, který se stará o vlastní práci se zprávami.
Pokud se využívá i lokální doručování přes Dovecot LDA, vstupuje do hry ještě další modul – deliver. Ten ale neběží jako démon, nýbrž ho spouští MTA jako svůj cílový transport. LDA se často využívá v kombinaci s pluginy (protože pro pouhé ukládání zpráv by byl skoro zbytečný, to zvládne i samotný MTA), zejména pro sledování kvót nebo pro filtraci zpráv.
Klíčovými informacemi, se kterými program pro přístup k poště pracuje, jsou údaje o uživatelích – tedy jméno, heslo, uživatelský adresář, příp. umístění schránky, UID, GID, kvóty a další parametry. Tyto údaje lze získávat z různých zdrojů, Dovecot jich podporuje celou řadu – konkrétně tyto:
passwd
– databáze systémových uživatelů, typicky využívaná přes NSS (základem jsou soubory /etc/passwd
, /etc/shadow
atd., ale může využívat i jiné zdroje)passwd
– jde o obecné soubory se syntaxí /etc/passwd
passwd
umí rozlišit dočasné a trvalé chyby)Metoda „prefetch“ znamená, že se při zjišťování údajů o uživateli použije to, co bylo zjištěno při zjišťování hesel. Uvedený seznam se totiž týká uživatelů jako takových – s hesly je to mírně jinak. Podporovány jsou výše uvedené metody, navíc ještě PAM a externí program CheckPassword. Co je ale důležité, ne všechny metody lze používat společně se všemi autentizačními schématy – problém je totiž v tom, že některá schémata vyžadují heslo v otevřeném tvaru (nikoli šifrované/hešované). Podle toho lze rozlišit dvě skupiny zdrojů – v jedné jsou zdroje umožňující pouhé porovnání hesla s uloženým heslem (omezená množina schémat), ve druhé zdroje umožňující získání hesla a další práci s ním (plná množina schémat). Ještě o tom bude řeč v dalších dílech seriálu.
Uvedené údaje může Dovecot (formou implementace SASL) poskytovat i jiným programům. Ty pak mají k dispozici stejné a stejným způsobem využitelné (ve smyslu škály použitelných schémat) údaje jako samotný Dovecot. Lze toho s výhodou využít například při spolupráci s programem Postfix.
Přestože základní program poskytuje většinu potřebné funkcionality, zásuvné moduly (pluginy) přidávají některé velmi užitečné funkce. Tady je přehled některých takových pluginů, které jsou z tohoto pohledu zajímavé:
acl
– poskytuje podporu pro přístupové seznamy (access control lists, ACL); do verze 1.1 se jedná o ACL řízené správcem, od 1.2 jde již o plnou implementaci rozšíření IMAP ACLexpire
– automaticky maže zprávy po určité době; vhodné např. pro automatické čištění složky se spamemfts
– indexace pro fulltextové vyhledávání (podporuje vlastní engine Squat a také externí Lucene a Solr)quota
– podpora kvót; doplňkovým pluginem je imap_quota
pro hlášení stavu zaplnění klientůmtrash
– automaticky odstraňuje smazané zprávy, pokud je překročena kvótaKromě pluginů přibalených přímo k programu existují další, od jiných autorů. Nejzajímavějším externím pluginem je zřejmě CMU Sieve (implementace filtrační technologie Sieve) z projektu Cyrus; od Dovecotu verze 1.2 lze však použít plugin poskytovaný přímo s programem. Jednotlivé pluginy lze konfigurovat, a to nejen globálně, ale i na úrovni uživatelů nebo schránek/složek (tzn. například definovat kvóty globálně, potom jednotlivým uživatelům a nakonec ještě konkrétním složkám).
Teoretický úvod (tedy spíše stručná přehlídka možností) je u konce a přichází čas na něco praktičtějšího. Příští díl bude věnován tomu, kde oba popisované programy získat, jaké verze zvolit, a hlavně, jak už také něco doopravdy zprovoznit.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
OK, a funguje to do té míry, že když uživatel poštovního klienta (kmail, thunderbird, …) klikne na „sdílení/acl“, tak se mu povede vše nastavit?Ano, od verze 1.2. Lze to ovládat pomocí libovolného klienta, který umí IMAP ACL (příkazy MYRIGHTS, GETACL, SETACL a DELETEACL).
Nebo se musej editovat ACL ručně někde na serveru?To bylo dřív.