abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 1
    dnes 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 0
    dnes 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    včera 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    včera 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 2
    včera 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    včera 13:11 | IT novinky

    Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.

    Ladislav Hagara | Komentářů: 2
    6.5. 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 5
    6.5. 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 1
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (7%)
     (14%)
     (16%)
    Celkem 139 hlasů
     Komentářů: 10, poslední dnes 17:35
    Rozcestník

    Jak si chrochtat v chrootu

    16.1.2013 22:56 | Přečteno: 1812× | Výběrový blog | poslední úprava: 17.1.2013 10:21

    Dnes si krátce povíme něco o chrootu a ukážeme si, jak v něm jednoduše (a nebezpečně) spustit grafickou aplikaci :-)

     

     

    O chrootu jste jistě již mnohé slyšeli, ale možná jste s ním stejně jako já neměli žádné zkušenosti a báli se o svůj odladěný systém. Mohu vás ujistit, že se není čeho bát a vše jde až podezřele hladce.

    K čemu je chroot vlastně dobrý? Zjednodušeně řečeno tím vytvoříme systém v systému, jakousi matrjošku :-) Někteří to považují za bezpečností prvek (tím může správně nastavený chroot opravdu být), jiní díky němu testují aplikace aniž by si zaneřádili systém a někteří (já) jej používají jen k tomu, aby jim na 64-bitovém systému fungovala 32-bitová aplikace. Proč? V dnešní době 64-bitových aplikací a 32-bitových knihoven?

    Když jsem před rokem studoval na střední škole, snažil jsem se v Debianu zprovoznit program Eagle. Pokud se podíváte sem http://packages.debian.org/unstable/electronics/eagle, tak si můžete všimnout paradoxního vývoje - nejstarší verze 5.10 podporuje jak i386, tak AMD64, zato verze 5.12 a 6.3 už podporuje jen i386. Tehdy Eagle určitou dobu fungoval, ale brzy se díky balíčkovacímu systému záhadně odporoučel a odmítal se nainstalovat. Pokud se nepletu, tak v repozitáři byl balík eagle verze 5.12, ale eagle-data jen verze 5.10. Ruční stažení eagle verze 5.10 a uzamknutí pomáhalo, ale brzy začal nějak kolidovat s aktualizací systému a já raději zvolil aktuálnější systém, než funkční Eagle. Verze z cadsoft.de trpěla nějakou chybou a ani po měsíci se nic nezměnilo i přesto, že chyba byla mnoha lidmi nahlášena a řešena na různých fórech. K mojí smůle mi ani jedno z řešení nepomáhalo. Mimochodem, některé aplikace dokážou údajně vzdorovat i 32-bitovým knihovnám a chroot je jediné řešení, jak s nimi pracovat na systému, pro který nejsou určeny.

    Uplynul rok a já dostal opět sto chutí překreslit několik schémat z hlavy do Eagle (memory dump mozku by byl někdy opravdu neocenitelný). Ale jak na to? Používám Debian testing x86_64 a Eagle je jen pro i386. Dříve jsem zkoušel vnutit instalaci 32-bitového balíčku na 64-bitový systém, instalovat 32-bitové knihovny, upravoval podle různých fór konfiguraci, ale ani tak nedospěl k funkčnímu výsledku. Rozhodl jsem se, že zvolím jiné řešení a před pár dny mě do očí praštilo to známé-neznámé slovo. Chrocht....totiž chroot :-)

     

    Jako vždy jsem se poradil s vyhledávačem Google a k mému překvapení našel několik odlišných a nejednou i protichůdných návodů. Ve většině návodů bylo potřeba upravovat soubor /etc/fstab a protože se tím dá hodně zkazit, hledal jsem dál až jsem našel tento návod http://www.debian-administration.org/articles/566.

    Jednoduchý, srozumitelný, ale (jako většina nalezených návodů) poměrně starý. Naštěstí ho to nijak nepoznamenalo a funguje doteď. Připraveni? Jdeme na to!

    [Protože jsem ve svém PC zapsán jako "dreit", budu tak zapsán i v návodu - všechny výskyty slova "dreit" přepište svým uživatelským jménem]

     

     

    Jako první si nainstalujeme balíčky schroot a debootstrap:

    sudo apt-get install schroot debootstrap

    Poté upravíme soubor /etc/schroot/schroot.conf, konkrétně jen odkomentujeme vše v sekci [sid] (samozřejmě pokud chceme Debian Sid) a nastavíme správně uživatele, u mě to vypadá takto:

    [sid]
    description=Debian sid (unstable)
    directory=/srv/chroot/sid
    users=dreit
    groups=users
    root-groups=root
    aliases=unstable,default

    Dále si vytvoříme adresář, který se pro náš chroot bude chovat jako kořenový a je daný konfiguračním souborem výše. Přitom rovnou vytvoříme i domovský adresář uživatele, který bude chroot používat (v mém případě se totiž nevytvořil a chroot proto nešel spustit):

    sudo mkdir -p /srv/chroot/sid/home/dreit

    Nyní necháme debootstrap vše nainstalovat na první pohled poměrně složitým příkazem:

    sudo debootstrap --arch i386 sid /srv/chroot/sid http://debian.mirror.dkm.cz/debian

    Přepínač --arch udává architekturu, kterou chcete mít v chrootu a "sid" udává verzi systému (musí existovat na zrcadle). Dále je zde cesta k adresáři, kde chceme chrootovat a nakonec nepovinný parametr - adresa zrcadla. Pokud jej nezadáte, bude debootstrap stahovat z přednastaveného zrcadla (v mém případě opravdu pomalé).

    Debootstrap bude chvíli chroupat a po jeho úspěšném ukončení se můžete podívat do adresáře /srv/chroot/sid, kde spatříte kompetní adresářovou strukturu chrootovaného systému. Právě nadešel čas na poslední příkaz, kterým se dostaneme dovnitř. Připraveni? Tady je:

    sudo schroot -c sid -p

     

    Právě jste si vytvořili systém v systému, který můžete do jisté míry ničit podle svých představ. Pokoušet příkaz rm -rf / vám ale nedoporučuji, mým hlavním cílem bylo jen zprovoznení programu, nikoli jeho zabezpečení před stupidním uživatelem :-D

    A když už ten hezký chroot máme, tak jej i nějak využijeme. Můžeme zde napříkad na zkoušku instalovat různé aplikace (Steam, Eagle, webové prohlížeče) a v případě potřeby vše krásným rm -rf /srv/chroot/sid uklidit :-) Já chtěl ale pracovat v Eagle a to pokudmožno v poslední verzi. Rozšířil jsem tedy soubor /etc/apt/sources.list o slůvka non-free a contrib příkazem

    echo -e 'deb http://debian.mirror.dkm.cz/debian/ testing main non-free contrib\n' > /etc/apt/sources.list

    a příkaz následoval typickým

    apt-get update

    V případě Eagle 6 bylo nutné stáhnout balíček ze stránky http://packages.debian.org/experimental/i386/eagle/download a nainstalovat jej:

    wget http://ftp.cz.debian.org/debian/pool/non-free/e/eagle/eagle_6.3.0-1_i386.deb

    dpkg -i eagle*.deb

    Dostal jsem typickou hlášku o nesplněných závislostech a opravil je příkazem mým oblíbeným příkazem:

    apt-get -f install

     

     

    Pokud vše proběhlo dobře, nezbývá než spustit Eagle (pokud ne, můžete zkusit přidat zrcadla). Napíšeme eagle, potvdíme enterem...ouha:

    eagle: cannot connect to X server :0

    Řešení je naštěstí snadné, stačí spustit jednoduchý příkaz, který udělí vyjímku (nikoli v chrootu, ale v hostitelském systému). Bohužel po restartu jej musíte zadat znovu, ale při občasném použití to jistě nebude moc vadit. Nezapomeňte napsat na konci dvojtečku.

    xhost +local:

    Nyní už se Eagle bez problému spustí a může si páchat co se mu zachce - je zavřený v chrootu a teoreticky by neměl mít kam utéct. Samozřejmě v praxi je lepší poradit se s někým zkušenějším před ostrým nasazením ;-)

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    pavlix avatar 17.1.2013 00:49 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    tím může správně nastavený chroot opravdu být
    Osobně bych tomu říkal spíš kombinace chrootu s dalšími prvky. A i tak jsou řešení založená na chrootu do jisté míry kritizována za to, že zabezpečnují jednotlivé vlastnosti systému a tudíž je velká šance, že se na něco zapomene. Narozdíl třeba od zabezpečení pomocí různých selinuxů a podobných, kde především řeší, co aplikace vůbec může, ne co explicitně nesmí.

    To jen poznámka naokraj.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Dreit avatar 17.1.2013 09:46 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu

    Bezpečností se nezabývám, snažil jsem se spíš jen poznamenat, že to opravdu jde. Koukal jsem na spouštění SSH daemonů v chrootu aby připojený uživatel nemohl utíkat pryč a to by se svým způsobem za bezpečnostní prvek dalo považovat. Samozřejmě při dostatku času a prostředků se dá zlomit naprosto cokoli ;-)

    To mě přivádí na myšlenku, že bych vlastně v chrootu mohl rozjet SSH daemona na vyšším portu (třeba 8022) pro "veřejnost" a ten pustit routerem ven, ale zároveň mít daemon běžící v hostitelském systému na portu 22 jen pro vnitřní síť :-)

    Nope
    17.1.2013 10:48 MMichal | skóre: 21
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    Problem je, ze pokud nekdo ziska v tom chrootu roota (napr. local exploit), potom se muze probourat vne chroot prostredi do systemu.
    Dreit avatar 17.1.2013 10:56 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu

    Tak to nezní moc příjemně, děkuji za osvětlení

    Nope
    17.1.2013 19:13 Radovan Garabík
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu

    Tak to nezní moc příjemně, děkuji za osvětlení

    Na druhej strane tu zase grsecurity môže pomôcť. Samozrejme, nemusí to byť stopercentné...
    pavlix avatar 17.1.2013 12:29 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    Koukal jsem na spouštění SSH daemonů v chrootu aby připojený uživatel nemohl utíkat pryč a to by se svým způsobem za bezpečnostní prvek dalo považovat.
    To už je ale kombinace dvou prvků. Nejprve se provede chroot a následně se změní uid na obyčejného uživatele a nakonec to celé funguje díky tomu, že obyčejný uživatel nemá možnost provádět některé privilegované operace.

    Navíc ten chroot pro SSH má bezpečnostní smysl pouze kvůli špatně nastaveným právům, popřípadě jiným bezpečnostním problémům, které ten systém má. Jenže v chrootu nefunguje nic, co tam nedáš.

    Když se chroot zkombinuje s izolací ostatních systémových prostředků, tak se tomu potom říká kontejnerová virtualizace. Stačí si najít OpenVZ, LXC a podobné.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    coder avatar 17.1.2013 11:22 coder | skóre: 4 | blog: lINUKS
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    yaourt -S eagle
    Targets (1): eagle-6.4.0-2

    Funguje, nepada. Na 64bitu s 32bitovyma knihovnama ;)

    Dreit avatar 17.1.2013 12:16 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu

    Včera jsem to probíral s partou linuxáků na IRC a během chvíle se u mě nahromadily screenshoty funkčního Eagle snad na všech možných distribucích :-D Že Eagle nefungoval před rokem samozřejmě neznamená, že nejde teď - chtěl jsem si ale vyzkoušet něco nového a Eagle byla perfektní záminka :-) Navíc teď není problém Eagle rychle uklidit :-D

    Nope
    coder avatar 17.1.2013 12:48 coder | skóre: 4 | blog: lINUKS
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    :-D

    Jinak fakt peknej a citelnej blogpost, klidne to nekdy zopakuj ;-)

    Dreit avatar 17.1.2013 15:32 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu

    Doufám, že to nebylo myšleno ironicky :-) Měl jsem v plánu další díl o RaspberryPi, ale nefunkčnost scanneru mě opravdu trápí a mám sto chutí nahradit RaspberryPi původním x86 serverem :-( Ale jestli se k tomu dokopu, tak ten návod dopíšu (včetně skriptů co jsou k tomu potřeba) a na konci se zeptám, jestli někdo neví co by šlo dělat s tím scannerem. Když na skle nic není, tak občas skenuje, jinak popojede do čtvrtiny a tam se zasekne s chybovou hláškou (normálně dojede do čtvrtiny, o kousek se vrátí a tak po čtvrtinách až do konce).

    Nope
    coder avatar 17.1.2013 16:53 coder | skóre: 4 | blog: lINUKS
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    Myslel jsem to zcela upřímně, fakt se to dobře četlo :-) Problém se scanerem ti nezávidím ale neporadím, nato fakt nejsem odborník.
    Dreit avatar 17.1.2013 20:21 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu

    Tak to mě opravdu těší, děkuji :-) Trochu jsem se bál, co z toho vyleze, protože jsem to psal navečer a v půlce jsem se úplně ztratil :-D

    Nope
    17.1.2013 12:27 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    Musím potvrdit, je to skvělá věc - používám pro provozování Lotus Notes.
    17.1.2013 16:58 pojidac
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    v tomhle se spoleham na SELinux sandbox:
    $ sandbox -t sandbox_web_t -H sandbox/home/ -T sandbox/tmp/ -W /usr/bin/startkde -X firefox
    
    
    jaky vyhoda a zaroven i nevyhoda je to, ze se to pak nedostane ani X bufferu.
    Bedňa avatar 18.1.2013 23:17 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    Len ma udivuje že si nedostal tučňáka, kua prečo DOLI?
    KERNEL ULTRAS video channel >>>
    Dreit avatar 19.1.2013 11:32 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu

    Myslim, že to ještě nemá tu úroveň, kterou by to muselo mít. Ostatně jsem popsal to, co jsem dělal cca hodinu podle návodu. Jestli se vyvede další díl o RaspberryPi tak, jak mám v plánu, to to bude ještě o tak 20% lepší :-)

    Nope
    Bedňa avatar 19.1.2013 11:48 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    Ja nehodnotím kvalitu blogového zápisku, ale snahu stať sa hackerom. Nikto nemal rank od narodenia, každý si tým musel prejsť.

    Mám rád zápisky kde ľudia zdieľajú svoje objavy, len tak ďalej.
    KERNEL ULTRAS video channel >>>
    Dreit avatar 19.1.2013 12:45 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu

    V tom případě je to pro mě opravdová pocta, děkuji :-)

    Nope
    vencour avatar 23.1.2013 18:16 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    Protože jsem se ke čtení tohodle dostal až teď ...
    Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
    Dreit avatar 24.1.2013 15:46 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu

    Děkuji mnohokrát :-)

    Nope
    vencour avatar 24.1.2013 18:06 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    Nestíham číst vše. Pokud máte dojem, že má něco smysl, piště to do vzkazu adminům ... aneb to by mělo přijít dříve k očím ...
    Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
    Dreit avatar 24.1.2013 23:36 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu

    Dobře, jakmile se mi povede něco sepsat a bude to dávat trochu smysl, tak se ozvu :-)

    Nope
    vencour avatar 25.1.2013 12:30 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
    Rozbalit Rozbalit vše Re: Jak si chrochtat v chrootu
    To je výzva pro všechny, jestli se vám něco nezdá, tak napište. Reagujeme snad jakž takž ok, ne? Až na ty zprávičky, jak jsem si občas všim ... a ty já nedělam.
    Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.