V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Čili už je jasné, jak bude vypadat struktura LDAP, ale teď je potřeba to přenést do konfiguračního souboru programu Postfix. Oproti dřívější konfiguraci (například té použité pro MySQL, která byla zase přejata z řešení pomocí souborů) se v souboru main.cf
změní jen toto:
virtual_mailbox_domains = moje.domena virtual_mailbox_maps = ldap:/etc/postfix/ldap/vmailbox.cf virtual_alias_maps = ldap:/etc/postfix/ldap/virtual.cf
Rozdíl je to tedy jen kosmetický, o to více práce ale čeká přímo v souborech pro konfiguraci komunikace se serverem LDAP. První z nich (vmailbox.cf
) je určen pro informace o schránkách a může mít například tuto podobu:
server_host = ldap.moje.domena search_base = dc=moje,dc=domena scope = one query_filter = (&(preferredDeliveryMethod=physical)(uid=%u)) result_attribute = uid result_format = moje.domena/%s/ bind = no
Parametr server_host
říká, k jakému serveru se má Postfix připojit. Lze uvést i číslo portu, případně cestu k lokálnímu socketu. Pokud je v síti více LDAP serverů a Postfix by měl vědět o všech (při výpadku některého z nich funguje vyhledávání dál, protože se vyžijí ty ostatní), lze je uvést například takto:
server_host = ldap://ldap.moje.domena:10389 ldap://ldap2.moje.domena:10389 ldap://ldap3.moje.domena:10389
Příklad současně ukazuje i uvedení nestandardních portů (uvedený port je typický například pro Apache Directory Server; Active Directory zase používá port 3268). Dalším parametrem v konfiguraci je search_base
. To je bázová cesta k prohledávání – vůči této cestě se budou hledat relativní rozlišovací jména. Parametr scope
určuje rozsah prohledávání – v tomto případě to bude jedna úroveň (více není potřeba).
Jak bude vlastní vyhledávání fungovat, to už určuje parametr query_filter
, do kterého lze podle potřeby vložit „procentové“ symboly, podobně jako při tvorbě SQL dotazů (viz minulý článek). Čili zde se atribut uid
filtruje podle jména uživatele, což je přesně to, co zajistí kontrolu existence uživatele. Druhou část, tedy kontrolu na existenci schránky, zajišťuje test atributu preferredDeliveryMethod
na hodnotu physical
(všimněte si, že pro vyjádření logického výrazu se zde používá prefixová notace, tedy nejdřív operátor, pak jeho parametry).
Další dva atributy určují podobu výsledku vyhledávání. Pokud LDAP najde objekt splňující podmínky filtru, vrátí atribut uvedený v parametru result_attribute
a učiní tak ve formátu definovaném parametrem result_format
. Protože má být výsledkem relativní cesta k úložišti typu Maildir, bude se vrácená hodnota skládat z domény a nalezeného uživatelského identifikátoru. Poslední parametr, bind
, vypíná otevření relace na serveru, protože u novějších verzí LDAP serverů je to zbytečné a jen by to spotřebovávalo výkon.
Pozor na to, že při uvedeném řešení musí být oprávnění na LDAP serveru nastavena tak, aby měl libovolný (i neověřený) uživatel přístup pro čtení uvedených atributů (resp. pro atribut preferredDeliveryMethod
stačí i přístup k porovnání). Obvykle to není problém splnit, protože nejde o citlivé informace.
Podobným stylem se připraví i soubor virtual.cf
s konfigurací pro aliasy. Rozdíl bude jen ve filtru (hledá se jiná hodnota preferredDeliveryMethod
) a ve vraceném výsledku (bude to hodnota atributu physicalDeliveryOfficeName
). Příklad už asi ani nepotřebuje komentář, protože by měl být dostatečně srozumitelný sám o sobě:
server_host = ldap.moje.domena search_base = dc=moje,dc=domena scope = one query_filter = (&(preferredDeliveryMethod=mhs)(uid=%u)) result_attribute = physicalDeliveryOfficeName result_format = %s bind = no
Nyní by měl být server Postfix připraven k doručování do schránek uživatelů uvedených v adresáři LDAP. Podobně jako v případě MySQL lze samozřejmě využít službu proxymap
, která omezí počet spojení na LDAP server a může tak snížit jeho zátěž.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Jen bych se chtel zeptat, zdali bude take uvedena konfigurace dovecotu jako LDA ( treba se Sieve ci procmail pro presun SPAMU do adresare ci automaticke promazavani SPAM adresar)?Samozřejmě bude.
Pak taky, zda-li byste mohl dokoncit tu vsuvku o podadresarich kvuli pluginum. Co vsechno se zmeni (user_attrs?).Teď jen ve stručnosti. Jde o to, že pokud se například využívá Sieve a nad domovským adresářem pracuje ManageSieve (ať už jako součást Dovecotu nebo jako samostatný program, např. PySieved), budou se v klientovi zobrazovat i soubory, které nemají. A obráceně, Dovecot bude adresář vytvořený pro účely Sieve (kam se budou ukládat Sieve skripty) považovat za poštovní složku (pokud bude název začínat tečkou, jak je obvyklé), čili ji bude klientům nabízet společně s jinými složkami. To není stav, o který by člověk zrovna stál. Ale znovu říkám, ve všech příkladech dosud používaných v seriálu využití "domovského adresáře virtuálního uživatele" nijak nevadilo, proto jsem také nevytvářel další adresářovou úroveň. Při použití se samozřejmě user_attrs nezmění, protože tam je právě domovský adresář, který zůstane stejný. Změní se naopak mail_location (například na maildir:/var/mail/virtual/%d/%n/Maildir, pokud bude pošta v adresáři Maildir pod domovským adresářem). U Postfixu by se změnil result_format (v tomto případě na %d/%u/Maildir/).
vůbec nechápu princip jeho činnostiCo na tom nechápeš? Základní princip je naprosto triviální. Je to prostě strom objektů a každý objekt může mít atributy (jaké přesně a které jsou povinné atd., to záleží na schématu). Ten strom může vycházet třeba z hierarchie DNS nebo být úplně jiný, podle potřeby. Představ si to třeba jako XML strom nebo něco takového (třeba registry ve Windows
ani jej neumím nainstalovatInstalace je taktéž triviální. Netriviální může být u některých implementací počáteční konfigurace (např. u OpenLDAP). Ale jsou implementace, kde je to také jednoduché (třeba Apache Directory Server; pro něj existuje také klikátko Apache Directory Studio, kterým lze jak pracovat se stromem, tak i konfigurovat server).
Pokud je to ovšem celé, tak pak nechápu smysl samotného LDAPu , resp. napadají mě technologie, které zvládnou totéž co si myslím, že má být LDAP (nasazení LDAPu tak jak jej máme u nás by šlo snadno přepsat do SQL).LDAP je především komunikační protokol. O to jde v první řadě. A protože tento protokol má poměrně širokou podporu, lze ho využívat v mnoha programech. Lze měnit klientský i serverový software podle potřeby, aniž by se musel měnit zbytek celku.
Pokud o tom někdo napíše srozumitelný článek včetně příkladů nasazení (od nejjednodušších, řekněme pro ověřování uživatelů na jedné mašině (místo /etc/passwd)), rád si jej přečtu. A jistě nebudu sám.Jo, k tomu článku pro blbé se také přidávám
Pro Luka - pokud budeš psát knihu, dobře si to rozmysli, moc čtenářů mít nebude.Knihu psát nebudu - viz níže
Pro Lukáše: kdyby se ti chtělo napsat knihu o LDAP, určitě bys měl jistého minimálně jednoho kupceZaprvé nejsem odborník na LDAP (proto píšu v článku, že "lépe se vyjádří znalec LDAP" - a to já bohužel nejsem), zadruhé teď dokončuji zapracování odborné korektury do knihy na úplně jiné téma, takže o psaní knih zase nějakou dobu nebudu chtít ani slyšet
Zaprvé nejsem odborník na LDAP (proto píšu v článku, že "lépe se vyjádří znalec LDAP" - a to já bohužel nejsem), zadruhé teď dokončuji zapracování odborné korektury do knihy na úplně jiné téma, takže o psaní knih zase nějakou dobu nebudu chtít ani slyšetTo je škoda. Píšeš pěkně "čitelně" :)
Čemu by tak hrozně vadilo to, kdybychom si vytvořili vlastní schema ?Nevadilo by. Tedy aspoň v tomto případě (u některých programů by vadilo, protože ty napevno počítají s objekty určitých tříd). Akorát že by se muselo vymýšlet a muselo by se nainstalovat. Pokud se použije hotové schéma, toto celé odpadá.