Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
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.
Pokud chceme zajistit sdílení souborů s operačními systémy od
Microsoftu, musíme na našem serveru nainstalovat a nakonfigurovat Sambu.
Samba vyžaduje minimálně démony nmbd
a smbd
. Pak
ovšem nefunguje jednoznačně korespodence mezi UNIXovým uid a windowsovým
SID a zacházení s přístupovými právy k souborům. Toto nevadí, pokud nám
stačí velmi omezená přístupová práva k souborům. Ve všech jiných případech
v Sambě použijeme ještě démon winbind
, který danou
korespondenci řeší. Dokumentace
od Samby je velmi kvalitní a řeší několik různých případů konfigurace
integrace UNIXu do MS Windows sítí. I integrace do AD je pokryta několika
možnostmi. My si vybíráme pouze jednu z nich, při které budeme
winbind
používat v minimalistické konfiguraci potřebné pro
sdílení souborů a používání ACL. Tato konfigurace potřebuje vše, co jsme si
popsali v předchozích dílech, ale nenutí nás vytvářet žádnou konstrukci
(pomocnou databázi) navíc. Osobně toto řešení považuji za logicky
nejelegantnější a to i přesto, že oficiální dokumentace jej považuje za
"nedotažené, ale často dobře fungující" (The use of this method is messy.
The information provided in the following is for guidance only and is very
definitely not complete. This method does work; it is used in a number of
large sites and has an acceptable level of performance).
Pokud máte se Sambou nějaké zkušenosti, je konfigurace poměrně
jednoduchá. Pokud zkušenosti nemáte, může vás zaskočit extrémně vysoké
množství parametrů, jež konfigurační soubor Samby může obsahovat.
Konfigurace Samby se obvykle nachází v adresáři /etc/samba/
a
její hlavní část v souboru /etc/samba/smb.conf
. Podívejme se
teď na jeho komentovaný příklad:
# smb.conf je hlavni konfiguracni soubor Samby ; i strednik uvozuje radek s komentarem # nasleduje hlavni spolecna sekce [global] realm = WINDOM.DIIRADU.CZ password server = mujw2k3pdc security = ADS encrypt passwords = yes workgroup = WINDOM interfaces = 127.0.0.1 eth0 bind interfaces only = true # tiskarny konfigurovat nebudeme, ale ponechame obvykle hodnoty # pro pripad jejich pridani printing = cups printcap name = cups printer admin = @ntadmin, root, administrator # Nektere zdroje nabidneme i uzivatelum bez linuxoveho uctu, # ktery se bude pripojovat jako nobody map to guest = Bad User username map = /etc/samba/smbusers passdb backend = smbpasswd server string = Samba Server domain master = false domain logons = no local master = no acl compatibility = Auto preferred master = no wins server = 10.8.8.1 # jak uz jsme poznamenali, tiskarny nekonfigurujeme load printers = no # nasledujici parametr je zapoznamkovany, aby bylo explicitne # videt, ze se nepouziva # ldap suffix = dc=windom,dc=diiradu,dc=cz # nasledujici dva parametry se maji dle samba dokumentace pouzit, # ale jsou nekdy ignorovany - vysvetleni je v textu # idmap uid = 1000-55000 # idmap gid = 100-55000 template shell = /bin/bash # Normalni jsou jednotky sekund, puvodni samba v SUSE 9.2 # vyzaduje stovky sekund winbind cache time = 5 winbind use default domain = Yes winbind trusted domains only = Yes winbind nested groups = Yes [homes] comment = Home Directories valid users = %S browseable = no read only = No guest ok = no printable = no [prenos] path = /home/prenos read only = No public = Yes create mode = 0666 delete readonly = Yes
V souboru jsou uvedeny pouze hodnoty odlišné od výchozího nastavení.
Pokud chcete znát hodnotu každého parametru, který je popsán v man
smb.conf
, můžete ji získat příkazem testparm -v
. V
sekci global
definujeme obecné vlastnosti Samba serveru. V
následujících sekcích jsou definována jednotlivá sdílení. U nás je to
sdílení domovského adresáře, který z MS Windows uvidí pouze uživatel, jemuž
adresář patří. Podmínky k vytvoření domovského adresáře najdete v
předchozím dílu (Integrace linuxového serveru do domény Windows 2003 - 2). Dále sdílíme
adresář /home/prenos
, který je přístupný i pro uživatele v
Linuxu neznámé. Jeho vlastníkem je uživatel nobody
a má vhodně
nastavená přístupová práva. Nás zajímá integrace s AD, a proto se budeme
věnovat pouze sekci global
.
Samba je neskutečně variabilní projekt pokrývající velkou škálu možností
propojení mezi UNIXovým a microsoftím světem. Vzhledem k vývoji MS
platformy je také projektem, který velmi často přidává nové vlastnosti, a
je proto nutné číst pozorně dokumentaci tak, abychom věděli, zda námi
používaná verze podporuje to, co v smb.conf
konfigurujeme.
Slovo verze budeme dále chápat ve smyslu úplného značení (např.
3.0.20 je jiná verze než 3.0.21). Výše uvedená konfigurace v podstatě
opisuje doporučené nastavení z oficiální dokumentace Samba-
HOWTO-Collection a Samba-Guide,
kde nás zajímají části hovořící o Samba Domain Member a Active
Directory Membership. Hypertextové odkazy na tyto kapitoly záměrně
neuvádím, protože se mohou měnit s každou verzí Samby. Vyplývá z toho
doporučení číst dokumentaci k právě používané verzi. Naše konfigurace je
odvozena z příkladu k IDMAP and NSS Using LDAP from ADS with
RFC2307bis Schema Extension
[global] workgroup = BOBBY realm = BOBBY.COM security = ADS idmap uid = 150000-550000 idmap gid = 150000-550000 template shell = /bin/bash winbind cache time = 5 winbind use default domain = Yes winbind trusted domains only = Yes winbind nested groups = Yes
Příklad ilustruje parametry, které jsou pro nás klíčové. První dva jsou samozřejmé a nevyžadují komentář, o těch ostatních si něco povíme. Naše výše uvedená konfigurace obsahuje navíc některé parametry, jejichž hodnoty nejsou povinné, význam lze najít v manuálových stránkách a autor je použil prostě proto, že mu právě takové na serveru vyhovovaly.
Parametr security
nastavuje ověřování pomocí AD.
Winbind
démon zajišťuje korespodenci windowsových SID a
unixových uid
a gid
. (Na rozdíl od jiných typů
konfigurací nic dynamicky nevytváří.) Démon čte nastavení parametrů
idmap
, které určují rozsah použitých uid
a
gid
. Toto nemá kupodivu na Sambu 3.0.14 v Debianu a 3.0.9 v
SUSE 9.2 žádný vliv, a proto je to v naší konfiguraci zapoznámkované. Ve
stávajících verzích Samby (např. 3.0.20 v SUSE 10.0) jsou však důležité a
musí být nastaveny na rozsah, který pro uživatele a grupy používáme v
databázi AD. V opačném případě očekávejte potíže s ACL. Předpokládáme
samozřejmě, že uživatelské parametry jako uid
,
shel
atd. máme plně pod kontrolou a přidělujeme je
individuálně a nepředpokládáme, že každý, kdo se přihlašuje k MS Windows,
se může přihlásit i k linuxovému serveru. template shell
není
proto podstatný.
winbind cache time
určuje počet sekund, po který se
korespodence SID s uid
a gid
udržuje v cache
Samby a není na ni dotazován PDC. 5 sekund je s výjimkou Samby 3.0.9 v SUSE
9.2 dobré číslo. Dokumentace od Samby doporučuje vypnout nscd
démon tak, jak to bylo popsáno v předchozím dílu seriálu. Vyhneme se tím rozporům mezi cache obou
démonů (nscd
a winbind
).
Ostatní winbind ....
parametry jsou doporučenými parametry
pro naši konfiguraci.
Konfigurační soubor tak, jak je uveden výše, pracuje skvělě v Debianu.
Bohužel v SUSE 9.2 má buď Samba 3.0.9 obsažená v distribuci nějaké
mouchy, které se mi nepodařilo odstranit ani s pomocí Google, nebo jsem
někde zapomněl něco dokonfigurovat. Samba si neumí na základě dodaného SID
zjistit v LDAP (AD) odpovídající uid
. Umí to pouze tehdy, když
si winbind
těmito informacemi naplní cache. Toho se dá
dosáhnout například příkazem
wbinfo -u > /dev/null
. Dostatečně velkým
parametrem winbind cache time
v souboru
smb.conf
pak zajistíme, že si cache údaje pamatuje dlouho.
Opakovaným prováděním příkazu je musíme ve vhodném intervalu obnovovat.
Toto řešení asi není nic, co by se normálnímu administrátorovi líbilo.
Naštěstí existuje poměrně jednoduché východisko.
Na začátku jsme slíbili, že nebudeme nic překládat, což dodržíme pokud
si stáhneme ze SUSE projektů rpm
binárky novější verze Samby a nainstalujeme je. Jak už bylo dříve řečeno,
pro správnou funkci musíme odpoznámkovat a nakonfigurovat
idmap
parametry. Vyzkoušel jsem to s verzí Samby 3.0.20,
což je stejná verze, s jakou je dodávána distribuce SUSE 10.0.
Až dosud jsme předpokládali, že čtenář ví téměř vše o principech
spouštění a fungování Samby a potřebuje být pouze popostrčen v konfiguraci
smb.conf
tak, aby odpovídala našim požadavkům zařazení do
Windows 200x domény (AD). Některé distribuce vám občas vnutí automatickou
konfiguraci Samby včetně spuštění. Je téměř jisté, že tato konfigurace se
námi požadované nebude podobat. Vzhledem k tomu, že už možná máte Sambu
nakonfigurovánu a spuštěnu tak, že funguje jiným způsobem, řekneme si, jak
ji zbavit všech reliktů staré konfigurace (i když to obvykle není
nutné).
Pokud démony samby běží, zastavíme je. V SUSE příkazy:
/etc/init.d/winbind stop /etc/init.d/smb stop /etc/init.d/nmb stop
a v Debianu
/etc/init.d/winbind stop /etc/init.d/samba stop
Pak vymažeme databázové soubory *.tdb
v adresářích
/var/lib/samba
a /etc/samba
. V adresáři
/etc/samba
zkonfigurujeme soubory smb.conf
a smbusers
(může zůstat prázdný).
Ještě než spustíme Sambu, musíme provést úpravu na MS Windows PDC (bohužel se jedná o snížení zabezpečení). Samba se zatím nevyrovnala s postupným zabezpečováním SMB protokolu ze strany Microsoftu, a je proto potřeba vypnout "signing", tj. změnit jeden nebo dva klíče v Policy na PDC. Můžete použít následující postup:
Nakonec vytvoříme (případně přepíšeme) účet počítače v Active Directory. Na Samba serveru to obstará příkaz:
net ads join -U administrator
alternativně
kinit administrator net ads join
kde administrator
je login uživatele oprávněného přidávat
počítače do AD (tento AD login obecně nemá žádný vztah k uživateli root na
Linuxu). Pak opět spustíme démony Samby v SUSE příkazy (v daném
pořadí):
/etc/init.d/nmb start /etc/init.d/winbind start /etc/init.d/smb start
a v Debianu
/etc/init.d/samba start /etc/init.d/winbind start
Pokud vše proběhlo podle předpokladů, budou počítače s OS Windows
schopny používat zdroje z našeho linuxového serveru a naopak. V naší
konfiguraci tak uživatelé MS Windows uvidí na Samba serveru sdílené položky
prenos
a svůj domovský adresář.
Uveďme ještě příklad zavedení počítače se jménem vmwlx1 do domény:
vmwlx1:~ # net ads join -U administrator administrator's password: [2005/09/12 14:09:30, 0] libads/ldap.c:ads_add_machine_acct(1400) ads_add_machine_acct: Host account for vmwlx1 already exists - modifying old account Using short domain name -- WINDOM Joined 'VMWLX1' to realm 'WINDOM.DIIRADU.CZ' vmwlx1:~ #
nebo
vmwlx1:~ # kinit administrator administrator@WINDOM.DIIRADU.CZ's Password: kinit: NOTICE: ticket renewable lifetime is 1 week vmwlx1:~ # net ads join [2005/09/12 14:14:57, 0] libads/ldap.c:ads_add_machine_acct(1400) ads_add_machine_acct: Host account for vmwlx1 already exists - modifying old account Using short domain name -- WINDOM Joined 'VMWLX1' to realm 'WINDOM.DIIRADU.CZ' vmwlx1:~ #
Přestože Sambu máme zkonfigurovanou, stále ještě neumožňujeme běžným uživatelům MS Windows nastavovat přístupová práva způsobem, na který jsou zvyklí.
Již dříve jsme se zmínili o rozšíření přístupových práv k souborům
podle normy POSIX, které obsahuje většina filesystémů používaných v Linuxu.
Není to totéž, co mají k dispozici MS Windows, ale stačí to ke splnění
požadavků uživatelů tohoto OS. Pokud používáte XFS, tak nemusíte pro
použití ACL dělat vůbec nic, protože XFS s ACL pracuje automaticky.
ReiserFS a Ext3 vyžadují při mountování zadat parametr acl
.
Například v Debianu zadáte na příslušný řádek v
/etc/fstab
:
/dev/sda2 /home ext3 defaults,acl 0 1
Pro zadávání a čtení rozšířených práv slouží v Linuxu utility
setfacl
a getfacl
. Použití je dobře popsané v
manuálových stránkách, neodpustím si však doporučení, abyste se podívali na
změněné chování výpisu ls -l
přístupových práv pro
grupu.
V OS MS Windows můžete nyní měnit práva ve stejném grafickém rozhraní jako to děláte při změně práv na svazku NTFS. Nemůžete ovšem překročit omezení na read, write, execute dané POSIX normou. Zafajfkovat můžete cokoliv, ale pouze tři zmíněná nastavení se zapíší.
Nyní máme k dispozici vše, co jsme si na začátku předsevzali. V popisu vám určitě něco bude chybět, ale to podstatné zde doufám najdete.
Většina projektů obsahuje sekci, která nám dává nahlédnout do plánů autorů, případně do návrhů, co by se mělo udělat, kdyby se našel někdo, kdo to udělá.
Když už se namáháme ověřovat uživatele Samby přes Kerberos, měli bychom to samé udělat i pro NFS (použít AFS). Vzhledem k tomu, že ne všechny distribuce obsahují potřebné utility přeložené s parametry podle našich potřeb, stálo by asi za to vypsat potřebné parametry při jejich překladu. Konečně by bylo vhodné nějak lépe vyřešit zabezpečení dotazů do AD a nepoužívat pro ně uživatele s malými právy a otevřeným heslem případně anonymního uživatele. Jako řešení bych viděl nějakou bezpečnou replikaci významných veřejných údajů z AD do OpenLDAP na Linuxu a následné standardní využití této sekundární databáze UNIXovými klienty.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: