Portál AbcLinuxu, 26. dubna 2024 10:08

Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19

21. 2. 2015 | Tadeáš Pelech
Články - Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19  

Stav vydání jádra. Citáty týdne. Techniky škálovatelnosti pro praktickou synchronizační základních operací (ACM Queue). Vydán nftables 0.4. Začleňovací okno verze 3.19 – 2. část. Uživatelské jmenné prostory a setgroups().

Obsah

Stav vydání jádra

link

Začleňovací okno verze 3.19 je stále otevřené; přehled (mnoha) změn začleněných v minulém týdnu viz samostatný článek níže.

Stabilní aktualizace: Verze 3.18.1, 3.17.7, 3.14.27, a 3.10.63 byly vydány dne 16. prosince.

Citáty týdne

link

Radost... V 1 ráno se uprostřed průtrže mračen snažím natáhnout plachtu nad sklepem, než se dole přeplní kanalizace... Jasně, existují horší práce než psaní ovladače disket.

Alan Cox

/ * Cetero censeo, checkpatch.pl esse delendam * /

Al Viro

Jedna věc je poskytnout uživateli root možnost, aby se mohl střelit do nohy. Ale dát mu nabitou zbraň namířenou na jeho nohou s nataženým úderníkem a cedulí, na které je napsáno „Chci, abys stiskl spoušť,“ se mi jeví jako špatný nápad.

Eric Biederman

Byl jsem dlouho správcem bezdrátové části a teď bych se osobně rád vyvíjel jiným směrem. Navíc si myslím, že Linux bude mít prospěch z přílivu čerstvé krve více zapojené do povinností údržby. Odstoupím, aby k tomu mohlo dojít.

John Linville

Techniky škálovatelnosti pro praktickou synchronizační základních operací (ACM Queue)

link

Davidlohr Bueso poskytuje přehled o technikách škálovatelnost zamykání jádra v tomto článku z ACM Queue. „Nedávno bylo věnováno značné úsilí řešení problémů se škálováním zámků v linuxovém jádru na velkých výkonných serverech. Mnoho z těchto problémů a řešení se vztahuje na podobný systémový software. Tento článek se týká obecných myšlenek a zkušeností v širším kontextu systémů, v naději, že může být užitečný pro lidi, kteří se potýkají s podobnými problémy škálování.“

Vydán nftables 0.4

link

Pro ty z vás, kteří sledujete vývoj nftables (potenciální nahrazení iptables ve virtuálních strojích), byla vydána verze 0.4 nástroje uživatelského prostoru nftables. Poskytuje přístup k mnoha novým funkcím včetně globálních pravidel, vylepšené podpory protokolování, maskování a NAT, podpory přesměrování (vyžaduje verzi jádra 3.19) a mnoha oprav.

Začleňovací okno verze 3.19 – 2. část

link

V souhrnu začleňovacího okna verze 3.19 z minulého týdne bylo uvedeno, že se všechno rozjíždí dost pomalu. Linus ten ztracený čas ale mezitím dohnal; v době vzniku tohoto článku bylo již do hlavního repozitáře zahrnuto více než 10 400 sad změn – přes 8 000 od minulého týdne. Tyto změny samozřejmě představují hodně oprav a nové práce. Mezi zajímavější změny viditelné pro uživatele patří:

Mezi změny viditelné pro vývojáře jádra patří:

Jádro má jako vždy širokou škálu přispěvatelů. I když je často těžké poznat věk přispěvatelů podle jejich předložených oprav, editor LWN je přesvědčen, že tato oprava je první od čtyřletého chlapce, která se dostala do jádra.

V tomto bodě byla většina velkých stromů (od přispěvatelů všech věkových kategorií) zahrnuta, takže lze očekávat, že rychlost změn v hlavním stromu se zpomalí. To znamená, že začleňovací okno pravděpodobně zůstane otevřené do 21. prosince. Shrnutí v příštím týdnu bude zahrnovat poslední opravy, které jsou do verze 3.19 zahrnuty z vývojového cyklu.

Uživatelské jmenné prostory a setgroups()

link

Již v listopadu jsme se dívali na opravu, která by umožnila neprivilegovaným procesům vypustit skupiny z jejich pověření. Po odeslání opravy brzy vyšlo najevo, že v některých případech vede odstranění skupiny ke zvýšení oprávnění; tato oprava nebyla dále uplatňována. Ale bylo také prokázáno, že neprivilegovaný uživatel může již odstranit skupiny využitím uživatelských jmenných prostorů. Chvíli to trvalo, ale vývojář jmenných prostorů Eric Biederman sestavil sadu oprav, o které doufá, že tuto zranitelnost uzavře.

Členství ve skupině lze použít k omezení oprávnění několika způsoby. Seznamy řízení přístupu mohou explicitně zablokovat přístup k prostředkům na základě členství v určité skupině. Ale je to ještě jednodušší: pokud jsou bity ochrany souboru nastaveny na „zákaz přístupu skupiny“, proces patřící do této skupiny bude zablokován, i když je celý soubor jinak přístupný všem. V obou případech může schopnost odstranit skupinu umožnit procesu přístup k prostředku, který by mu jinak byl odepřen.

V současných jádrech je použití funkce setgroups() ke změně členství ve skupině privilegovaná operace. Neprivilegované procesy ji tedy nemohou použít, aby se zbavily nevhodných členství ve skupině. Ale proces spuštěný v rámci uživatelského jmenného prostoru je privilegovaný uvnitř daného jmenného prostoru, takže volání setgroups() bude úspěšné. Je snadné napsat malý program, který používá funkci clone() k vytvoření podřízeného procesu v uživatelském jmenném prostoru a má podřízené volání setgroups(), které odstraní členství ve všech doplňkových skupinách. Tato zranitelnost zvýšení úrovně oprávnění dostala označení CVE-2014-8989.

Ericova oprava tohoto problému začíná zákazem použití funkce setgroups() v rámci uživatelského jmenného prostoru, dokud není mapování ID skupiny nastaveno pro tento jmenný prostor. Toto mapování je vytvořeno pomocí zápisu souboru gid_map do adresáře proc tohoto procesu; podrobnosti o fungování mapování souborů viz tento článek. Další systémová volání orientovaná na ID uživatele nebo skupiny vyžadují existenci mapování dříve, než uspějí; toto omezení má nyní také funkce setgroups().

Největší část opravy přidává pro každý proces do adresáře /proc nový řídicí soubor nazvaný setgroups. Zápis řetězce „deny“ do tohoto souboru zakáže systémové volání setgroups() výhradně v rámci jmenného prostoru obsahující relevantní proces. Je požadována funkčnost CAP_SYS_ADMIN, aby náhodné procesy nemohly zakázat funkci setgroups() ve jmenném prostoru nejvyšší úrovně; proces v rámci vlastního uživatelského jmenného prostoru má opět oprávnění (standardně) a může tuto změnu úspěšně provést. Pokud je funkce setgroups() vypnuta, nelze ji znovu povolit v tomto jmenném prostoru nebo v některém z jejích potomků. Do souboru setgroups lze také zapsat pouze před nastavením mapování ID skupiny.

A navíc neprivilegovaný proces může změnit pouze mapování ID–skupina jmenného prostoru, pokud byla funkce setgroups() zakázána. Jediné, co neprivilegovaný proces může udělat s mapováním ID–skupina je namapovat vlastní ID primární skupiny na stejné ID v nadřazeném jmenném prostoru; neprivilegovaný proces nemůže přemapovat své doplňkové skupiny. Pokud je tedy nastavena tato sada omezení, v podstatě je nemožné (1) zahrávat si s mapováním při odstranění skupin nebo (2) vůbec volat funkci setgroups() bez oprávnění.

Pokud privilegovaný proces vytvoří uživatelský jmenný prostor, může nastavit libovolné mapování pro ID skupiny a odmítnout vypnutí funkce setgroups(). To by umožnilo odstraňování skupin uvnitř jmenného prostoru, ale vzhledem k tomu, že proces je již privilegovaný, by to mohl udělat stejně.

Konečným výsledkem této práce by mělo být zavření chyby způsobené tím, že je možné odstranit skupiny v rámci uživatelského jmenného prostoru. Ale upozorňuje na jedno z nebezpečí, která přicházejí s územím uživatelského jmenného prostoru: i když se zdá možné omezit oprávnění v rámci uživatelského jmenného prostoru, vždy se můžou vyskytnout nějaká překvapení jako toto, které se skrývá v zákoutích systému. Může ale chvíli trvat, než si budeme moct být opravdu jistí, že všechna tato překvapení byla odhalena a že neprivilegované vytvoření uživatelských jmenných prostorů je skutečně bezpečné povolit.

Eric požádal Linuse, aby tyto změny zahrnul do vývojového cyklu verze 3.19; k tomu došlo v době vydání tohoto dílu. Opravy byly také označeny jako stabilní pro backporting, takže by nakonec měly být k dispozici v sadě aktualizací stabilních verzí.

Odkazy a zdroje

Kernel coverage at LWN.net: December 17, 2014

Další články z této rubriky

Jaderné noviny – přehled za březen 2024
Jaderné noviny – přehled za únor 2024
Jaderné noviny – přehled za leden 2024
Jaderné noviny – přehled za prosinec 2023
Jaderné noviny – přehled za listopad 2023

Diskuse k tomuto článku

21.2.2015 18:18 linuxtardis
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
Odpovědět | Sbalit | Link | Blokovat | Admin
Možná jsem puntičkář, ale kořen mě rozsekal:
Jedna věc je poskytnout kořeni možnost, aby se mohl střelit do nohy. Ale dát kořeni nabitou zbraň namířenou na jeho nohou s nataženým úderníkem a cedulí, na které je napsáno „Chci, abys stiskl spoušť,“ se mi jeví jako špatný nápad.
Originál:
Giving root the power to shoot himself in the foot is one thing. Giving root a loaded gun pointed at his foot with the hammer pulled back, and a sign that says I dare you to pull the trigger, seems like a bad idea.
To bych přeložil trochu jinak:
Jedna věc je dát rootovi možnost střelit se do nohy. Ale dát rootovi na jeho nohu namířenou nabitou zbraň se zataženým úderníkem a k tomu ceduli s nápisem "vyzývám tě, abys zmáčknul spoušť" se mi jeví jako špatný nápad.
23.2.2015 10:25 mankind_boost | skóre: 7 | Hliněná chýše, 5482/3
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
:-D :-D :-D
Jen skutečný mankind_boost je zárukou kvality.
Tadeáš Pelech avatar 21.2.2015 23:56 Tadeáš Pelech | skóre: 34 | Malenice
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
Odpovědět | Sbalit | Link | Blokovat | Admin
Díky za upozornění.
22.2.2015 09:28 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
Odpovědět | Sbalit | Link | Blokovat | Admin
Celych 20ms jsem premyslel, co znamena obor nazvu. Kdyz uz bych namespace prekladal, rozhodne bych dal prednost vyrazu jmenny prostor.
22.2.2015 10:15 Jindřich Makovička | skóre: 17
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
ACM Queue je taky něco trochu jiného, než si zřejmě autor myslí, že by mohlo být. Celkově bych doporučil více používat při překladu Wikipedii a Google.
22.2.2015 19:54 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19

Můj dnešní favorit je

nový subsystém pro úkoly snižování zátěže přepínání a směrování na patřičně výkonném hardwaru

těsně následován "síťovými zásuvkami". Popis ipvlan je také těžko pochopitelný, ale on je napsán dost krypticky už v originále, takže to bych překladateli za vinu nedával.

Jendа avatar 23.2.2015 00:53 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
nový subsystém pro úkoly snižování zátěže přepínání a směrování na patřičně výkonném hardwaru
Chtělo by to přeložit ještě slova subsystém a hardware.
22.2.2015 10:26 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
Odpovědět | Sbalit | Link | Blokovat | Admin
</i> Mwahahaha

Vypadá to, že v článku utekl uzavírací tag pro kurzívu.
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房
Tadeáš Pelech avatar 22.2.2015 10:29 Tadeáš Pelech | skóre: 34 | Malenice
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
Odpovědět | Sbalit | Link | Blokovat | Admin
Díky všem za připomínky.
22.2.2015 18:06 diggit
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
Odpovědět | Sbalit | Link | Blokovat | Admin
Texas nástroje
Texas Instruments je celý název firmy, to bych asi nepřekládal...
22.2.2015 18:20 Adam
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
Odpovědět | Sbalit | Link | Blokovat | Admin
Díky za pěkné shrnutí. S tou češtinou je to bezva, ale možná by při první zmínce mohl být v závorce uveden původní (anglický) termín. To jen pro lidi jako já, co mají delší vedení, nebo problematice nerozumí, ale učí se.
22.2.2015 21:12 Lol Phirae | skóre: 23
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
Odpovědět | Sbalit | Link | Blokovat | Admin
S pozdravem, nepište mi, a pokud možno nepište vůbec... :-(
24.2.2015 10:16 Ja
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
S pozdravem nečtěte překlad jaderných novin a pokud možno nečtěte česky vůbec... :-)

Ano, překlad není dokonalý, ale někteří lidé (já) by si to v angličtině určitě nepřečetli a google translátor by to určitě nepřeložil lépe.
24.2.2015 10:27 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
Problém je v tom, že překlad je v mnoha případech tak špatný, že ani člověk, který se v problematice orientuje, není často schopen z překladu pochopit, o čem je řeč, aniž by se podíval, jak zněl originál. Ale pak už ten překlad postrádá smysl.
24.2.2015 12:54 jos
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
mno tak se můžou stát tři věci, buď to Tadeáš ustojí, zlepší se a všichni budou spokojený (koukal sem že překládá JN od 9.9.2014); nebo to neustojí a začne někdo jinej (budoucí kvalitu neřešim); nebo to neustojí a překlady nebudou vůbec
24.2.2015 11:52 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
Citam JN uz aspon 6 rokov, ale tento diel ma vazne presvedcil, ze zacnem davat prednost originalnej verzii. Doteraz som uprednostnoval cesku verziu, pretoze predsa len pre mna predstavovala mensiu mentalnu zataz a viac som sa mohol sustredit na obsah a temu.

Tento diel ale svojimi zufalo umelymi a nezrozumitelnymi prekladmi technickych terminov preklopil narocnost cestiny a anglictiny z hladiska porozumeniu obsahu. Je dobrym mentalnym/jazykovym cvicenim prekladat podivny slovne spojenia do anglictiny a naspat do cestiny, aby clovek porozumel o com to je, ale JN mi pridu tak povodne tak zhustene, ze to narocnost potom presahuje akceptovatelne hodnoty.

Ak ma byt ucelom prekladu donutit ludi citat anglicky original, aby pochopili text, tak je to skvely preklad.
If you hold a Unix shell up to your ear, you can you hear the C.
Bystroushaak avatar 24.2.2015 15:45 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
Co to takhle vyřešit mým způsobem, tedy že článek by byl někde na gitu a čtenáři by mohli posílat pull requesty?
24.2.2015 16:30 jos
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
to by dopadlo jako kauza django: master/slave
24.2.2015 23:15 Lol Phirae | skóre: 23
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 12. 2014: Pokračování začleňování verze 3.19
S pozdravem nečtěte překlad jaderných novin
No, ono to v podstatě (tedy pokud není účelem vzbudit salvy smíchu) nemá smysl. Leccos bych pochopil, ale "přeložit" root jako kořen zjevně napovídá, že autor kolem problematiky nejenže ani neprojel v rychlíku, ale spíš se s ní minul minimálně warpem 10. Tohle vypustit do světa chce fakt hodně odvahy a míčů :-) :-D

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.