Byla vydána nová verze 4.8.0 programu na úpravu digitálních fotografií darktable (Wikipedie).
Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 142 (pdf) a HackSpace 79 (pdf).
Qtractor (Wikipedie) dospěl do verze 1.0.0. Jedná se o Audio/MIDI vícestopý sekvencer.
Byl vydán svobodný kancelářský balík OnlyOffice Docs 8.1. Vedle četných oprav přináší několik funkcí včetně podpory editace textu v PDF a vytváření formulářů v PDF.
Daniel Stenberg, autor nástroje curl, z databáze SteamDB zjistil, že aktuálně 22 734 her na Steamu používá curl.
Společnost Anthropic vydala Claude 3.5 Sonnet, tj. novou verzi své umělé inteligence Claude (Wikipedie). Videoukázky na YouTube. S Claude 3, stejně jak s GPT-3.5, Llama 3 a Mixtral, si lze pokecat bez přihlašování na DuckDuckGo AI Chat.
Byla vydána nová stabilní verze 6.8 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 126. Přehled novinek i s náhledy v příspěvku na blogu a na YouTube. Vypíchnuta jsou vylepšení v integrovaném poštovním klientu.
Příspěvek Aukce domén – měsíc po spuštění na blogu CZ.NIC shrnuje první měsíc provozu Aukce domén .CZ. Aukcemi prošlo celkem 18 174 domén, z toho na 742 z nich byl učiněn alespoň 1 příhoz. Nejdražší aukcí byla na doménu virtualnisidlo.cz s cenou 95 001 Kč, která však nebyla včas uhrazena. Nejdražší aukcí, která byla vydražena i zaplacena je praguecityline.cz s cenovkou 55 600 Kč.
Před 40 lety, 19. června 1984, Bob Scheifler představil první verzi okenního systému X (X Window System). Vycházela z okenního systému W (W Window System).
Desktopové prostředí MATE bylo vydáno ve verzi 1.28. V gitových repozitářích je sice už od února, ale oznámení vydání se na webu objevilo s několikaměsíčním zpožděním (únorové datum zveřejnění je nepravdivé). Jde o první velké vydání od roku 2021. Uživatelsky nejvýznamnější pokrok je v podpoře Waylandu.
Popsané řešení umožňuje doručování do schránek uživatelů, nicméně jediný možný přístup ke zprávám je prostřednictvím programů spouštěných přímo na stejném stroji (případě i odjinud, pokud by byla schránka dostupná třeba přes sshfs), navíc jen takových, které tento způsob podporují. Ovšem s tím se lze málokdy spokojit – standardem je přístup vzdálený, pomocí některého z protokolů k tomu určených.
Protože Postfix tyto věci vůbec neřeší, je na čase pustit k práci také druhý ze zde popisovaných programů – Dovecot. Z hlediska základní kooperace s Postfixem není potřeba nic zvlášť řešit, zejména pokud se jako úložiště používá Maildir (pro mbox by se muselo ohlídat zamykání, aby se programy o soubor schránky nepraly).
Následující text a konfigurace bude odpovídat verzi 1.2. Pro starší verze to může vypadat mírně jinak, přestože základní věci se skoro neliší. Každopádně je dobré se při použití dřívějších verzí podívat do dokumentace a případné odlišnosti promítnout do nastavení. Konfigurační soubor programu Dovecot se standardně nachází na cestě /etc/dovecot/dovecot.conf
.
V první řadě je potřeba zapnout podporu protokolů POP3 a IMAP (musí být samozřejmě nainstalováno vše potřebné – někde je samostatně jádro programu a jednotlivé protokoly, viz třetí díl seriálu). Šifrované verze (protokoly imaps
a pop3s
; běží na samostatných portech) zůstanou vypnuty, protože vyžadují správně nakonfigurovanou technologii SSL.
protocols = imap pop3
Nejenže se nezapnou protokoly imaps a pop3s na zvláštních portech, ale je potřeba vypnout i SSL/TLS jako celek, protože Dovecot podporuje rozšíření STARTTLS
, s jehož pomocí lze TLS zapnout v rámci relace na běžném portu. Současně bude potřeba udělat bezpečnostní ústupek a povolit autentizaci heslem v otevřeném tvaru (viz dále).
ssl = no disable_plaintext_auth = no
Dovecot z bezpečnostních důvodů standardně zakazuje autentizaci heslem v otevřeném tvaru odjinud než z bezpečných adres (běžně jen z místního stroje). Heslo v otevřeném tvaru není problém při použití šifrování, proto se v takovém případě povoluje. Tady jde ovšem o jiný případ – i když se šifrování používat nebude, je heslo v otevřeném tvaru nezbytné. Důvodem je, že pokud se využívá běžná systémové databáze hesel, nelze používat metody, které pro svoji funkci vyžadují heslo v otevřeném tvaru (CRAM-MD5
, DIGEST-MD5
, NTLM
atd.). Takové řešení není bezpečné, zejména používá-li se při přístupu přes Internet. Nejčistším řešením je využít TLS, které je ovšem potřeba správně nakonfigurovat (což není tak úplně triviální a je potřeba si připravit certifikát a klíč). Jinou možností je mít heslo uloženo v otevřeném tvaru, což ale nelze použít s normální systémovou (unixovou) databází.
Z obecných konfiguračních parametrů zbývá již jen jeden. Je to typ a umístění úložiště zpráv. Tady je to jednoduché, používá se úložiště typu Maildir a schránka je adresář Maildir
pod domovským adresářem uživatele.
mail_location = maildir:~/Maildir
Nyní přicházejí na řadu sekce pro jednotlivé protokoly a pro autentizaci. Pro protokol IMAP je žádoucí nastavit toto:
protocol imap { imap_client_workarounds = outlook-idle }
Parametr zapne obcházení chyby implementace protokolu IMAP v programu Microsoft Outlook. Pokud se Outlook zcela jistě používat nebude, není potřeba toto zapínat. Naopak při použití jiných klientů (typicky hodně starých) by se zapnuly jiné podobné volby. Pro protokol POP3 se nastaví tyto hodnoty:
protocol pop3 { pop3_uidl_format = %08Xu%08Xv pop3_client_workarounds = outlook-no-nuls oe-ns-eoh }
První parametr říká, jaký formát budou mít unikátní identifikátory zpráv. Pokud se vytváří nové úložiště, je v podstatě jedno, jak se budou identifikátory generovat. Jedno to ovšem není, přebírá-li se existující úložiště, nad kterým běžel nějaký jiný POP3 server. Určitý problém může být také s klienty (např. Microsoft Outlook 2003) nepodporujícími některé formáty. Uvedený formát odpovídá tomu, který používá program UW ipop3d a je doporučen autorem programu Dovecot. Druhý parametr zapíná podporu pro obcházení chyb některých klientů (podobně jako u protokolu IMAP).
Teď už zbývá jen nastavit autentizaci. Dovecot rozlišuje dva druhy autentizačních dotazů: na hesla a na uživatele. Ne každý informační zdroj lze použít pro obojí. Například na hesla se pro systémové uživatele standardně používá PAM (nelze použít jako databázi uživatelů), k dotazům na uživatele zase databáze passwd
(tedy standardně NSS). Tady je příslušná konfigurační sekce:
auth default { mechanisms = plain login passdb pam { args = dovecot } userdb passwd { } user = root }
Parametr mechanisms udává povolené autentizační mechanismy. Zde jsou uvedeny pouze dva, vzhledem k tomu, jak jsou ověřována hesla (PAM může pouze ověřit, zda je získané heslo správné, ale nemůže ho jako takové získat). Podsekce passdb definuje přístup k databázi hesel, zde s použitím PAM. Jako argument (args
) zde figuruje název služby v rámci PAM (viz dále). Dále je tu prázdná podsekce s databází uživatelů (i když tam nic není, nelze ji vynechat – říká, jak se budou uživatelé ověřovat) a nakonec uživatel, pod kterým poběží autentizační proces (musí mít přístup k heslům, čili v tomto případě to bude root).
Před spuštěním programu Dovecot je potřeba ještě ověřit, zda má PAM nakonfigurovánu službu dovecot
. Při instalace programu z balíčku to obvykle bývá v pořádku, nicméně pokud soubor (typicky /etc/pam.d/dovecot
) chybí, je potřeba ho tam přidat a standardně bude mít tento obsah (může vypadat mírně jinak, např. jako inkludování společných souborů, podle řešení v konkrétní distribuci):
auth required pam_unix.so account required pam_unix.so session required pam_unix.so
To je vše a po spuštění programu Dovecot s touto konfigurací by měl POP3 i IMAP přístup ke schránkám fungovat bezproblémově. Ovšem pozor – uživateli root Dovecot nepovolí přístup ke schránce. Je to logické, zejména v kontextu nešifrovaných hesel běhajících po síti. Proto je obecně lepší, když root vůbec svoji schránku nepoužívá. Prostě se pro tyto účely využívá běžný uživatel, přičemž pošta adresovaná uživateli root se pomocí aliasu přesměruje tomuto uživateli – do souboru /etc/aliases
se na konec přidá pravidlo jako je toto:
root: uzivatel
I když řešení se schránkami běžných uživatelů v systému je jednoduché a v řadě případů dobře použitelné, hlavně u dedikovaných poštovních serverů je vhodnější (a často v podstatě nezbytné) použít tzv. virtuální uživatele, kteří nemají své uživatelské účty v systému jako celku. Použití virtuálních uživatelů má celou řadu výhod:
Programy lze samozřejmě nastavit i tak, aby fungovaly současně pro systémové i virtuální uživatele, i když je to většinou zbytečné. Jako úložiště pro schránky virtuálních uživatelů se samozřejmě nepoužívají žádné domovské adresáře. Úložiště je centrální (typicky pod /var/mail
), může být i fyzicky oddělené od poštovního serveru. Oddělit pak snadno lze i doručování zpráv a přístup k nim.
Teoretický úvod o virtuálních uživatelích byl předstupněm toho, co přijde příště. Oba programy (Postfix a Dovecot) vytvoří silnou dvojici, která bude těsně spolupracovat – a to tak, že Postfix využije služeb programu Dovecot. Cílem bude ověřování virtuálních uživatelů, a to jak pro účely doručování (tedy jestli uživatel vůbec existuje), tak pro ověření pro odesílání zpráv (často je žádoucí mít možnost právo uživatele odesílat poštu ověřit i jinak než pouze podle síťových adres).
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
home_mailbox = Mailbox home_mailbox = Maildir/Jak je z názvů patrné, v prvním případě se nastaví doručování do souboru formátu mbox s názvem
Mailbox
, ve druhém případě to bude formát Maildir a adresář nazvaný taktéžMaildir
.
Není tu něco špatně? Slovo za rovnítkem definuje co? Formát nebo název souboru? Co umístění souboru? /var/spool/mail nebo domovský adresář?
Priste. Jak je napsano na konci clanku
Cílem bude ověřování virtuálních uživatelů, a to jak pro účely doručování (tedy jestli uživatel vůbec existuje), tak pro ověření pro odesílání zpráv (často je žádoucí mít možnost právo uživatele odesílat poštu ověřit i jinak než pouze podle síťových adres).
Pokud je tam lomítko, tak se to bere jako adresář pro maildir.Přesně tak. Asi jsem měl použít lepší formulaci, takhle to nemusí být dostatečně zřejmé.
mail_spool_directory
.
smtpd_recipient_restrictions = permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_non_fqdn_recipient, reject_unknown_recipient_domain, check_recipient_access hash:/etc/postfix/access, check_sender_access hash:/etc/postfix/access, reject_unauth_destinationNebo má v článku prezentované řešení jiné výhody? Btw ten permit na konci je přidán jen z psychologického hlediska, je tak? Díky
Rozumím tomu správně, že nic nepokazím když použiji zkrácený zápis (s smtp_delay_reject=yes)Ano, za předpokladu smtp_delay_reject=yes by se to mělo chovat stejně.
Nebo má v článku prezentované řešení jiné výhody?Upřednostňuji rozdělení na jednotlivé části, je to podle mého názoru přehlednější a názornější.
Btw ten permit na konci je přidán jen z psychologického hlediska, je tak?Ano, je tam proto, aby bylo na první pohled patrné, co nastane, pokud žádné pravidlo nevyhoví.