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 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

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

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

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

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 1
    včera 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 7
    včera 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    17.4. 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    17.4. 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 1
    17.4. 15:11 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.0.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 5
    KDE Plasma 6
     (68%)
     (10%)
     (2%)
     (19%)
    Celkem 556 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Parchantí nám Linux (přepsání spuštěné binárky)?

    Petr Tomášek avatar 3.3.2011 17:00 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Parchantí nám Linux (přepsání spuštěné binárky)?
    Přečteno: 1375×
    Zdravím!

    Po updatu na Fedoru 14 mě linux totálně šokoval, když "cp -f" odmítlo přepsat právě spuštěnou binárku. Co se to k***a děje, to se všichni zbláznili?

    Měl jsem za to, že na tomto se vždy poznal ten Pravý Operační Systém™ oproti těm zk*****m Windows, že má něco jako koncept inodů, takže starý program ještě zůstane v pohodě spuštěný, anžto přistupoval ke starému inode, kdežto nový se spouští u z nového...

    Jde nějak tu ****** vypnout bez patchování jádra?

    Díky!
    multicult.fm | monokultura je zlo | welcome refugees!

    Řešení dotazu:


    Odpovědi

    3.3.2011 17:30 ojel
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    co na to říkají na http://forum.fedora.cz/?

    Nedělá to SElinux?

    Osobně mi tyto "moderní trendy" taky silně vadí (grub2, plymouth, nový init, gnemeshell... - hlavně, aby to uživatel nemohl administrovat z příkazové řádky a aby to nemělo normální konfiguráky. Logy a nastavení cpát rovnou do databáze - firefox - aby uživatel neměl šanci ani zjistit, co mu vlastně nalezlo třeba do cookies. Místo vimu musí použít nějaké grafické udělátko, u něhož vůbec netuší co vlastně a jak dělá. Proč, xakru, nejdou "mladí a nadějní" vývojáři raději vyvíjet k Microsoftu a neprzní nám unix věcmi obšlehlými s Windows 7)
    3.3.2011 17:49 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Nejspíš to bude SELinux. Pokud to dělá u všech binárek a nejen u těch spuštěných, tak by se jen mohlo jednat o ochranu proti zápisu (ano, soubory lze chránit i proti zápisu rootem, pomocí chattr - i když zatím jsem to v praxi viděl jen u rootkitu).

    No a jinak klid, tyto věci nejsou z Windows N, ale spíše z komerčních unixů (což samozřejmě neznamená že by se nejednalo o prznění)
    3.3.2011 18:08 l4m4
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    SELinux bych sice také podezříval, ale v home mohu přepisovat spuštěné binárky (s výchozí policy), jak se mi zlíbí. Text file busy dokážu dostat pouze u systémových binárek system_u binárek a bez -f. Jak vypadá stat -Z na tu binárku?
    4.3.2011 13:24 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    v home mohu přepisovat spuštěné binárky (s výchozí policy)

    Určitě? Já si tedy nevzpomínám, že by to někdy šlo, a to ani na systémech bez SELinuxu nebo čehokoli podobného.

    Text file busy dokážu dostat pouze u systémových binárek system_u binárek a bez -f.

    Přepínač -f způsobí právě to, že nejde-li soubor přepsat (jako třeba u spuštěného programu), smaže se a vytvoří se nový.

    pavlix avatar 5.3.2011 19:02 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Grub2 má normální konfiguráky, plymouth budu muset nastudovat, nový init má své výhody... ale mám za to, že se dá výběrem distribuce tomu všemu vyhnout.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    michich avatar 3.3.2011 19:54 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    V první řadě se uklidni.

    Potom napiš, jak to můžeme zreprodukovat.
    4.3.2011 07:04 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Když přepíšete spuštěnou binárku tak ten spuštěný proces nejspíš spadne. Normálně se to dělá tak, že se nejdřív smaže a pak se zapíše nová.
    In Ada the typical infinite loop would normally be terminated by detonation.
    4.3.2011 07:57 aaaaaa
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Ale dovolit by mu to system mal nie? :-) s niecim podobnym (odmietnutie prepisania binarky) som sa stretol na workstatione so SuSE so zapnutym AppArmorom...
    4.3.2011 08:23 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Ale dovolit by mu to system mal nie?
    Pokud má dost oprávnění, tak může přepsat příslušné místo na disku, nebo cokoliv jiného. Systém mu to dovolí.
    s niecim podobnym (odmietnutie prepisania binarky) som sa stretol na workstatione so SuSE so zapnutym AppArmorom...

    Je to dokumentovaná věc syscallu open, i bez apparmoru.
    In Ada the typical infinite loop would normally be terminated by detonation.
    4.3.2011 13:06 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?

    Proč by spadl? To tedy ani omylem.

    Spuštěná binárka se mapuje do paměti tak, aby se v ní případné změny provedené někým jiným nemohly nijak projevit. Tedy zafunguje CoW a běžící program přepsání souborů s původní binárkou a knihovnami neuvidí. Kdyby tohle nějaký operační systém neuměl, byl by téměř nepoužitelný.

    4.3.2011 14:25 Sten
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    To se pletete. CoW funguje jenom na paměť, pokud však část mapovaného souboru není v paměti a někdo ji přepíše na disku, tak se potom namapuje už změněná verze. Proto tohle všechny normální balíčkovací systémy řeší pomocí rm $NAME + mv $NAME.new $NAME.
    4.3.2011 17:28 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Proč by spadl? To tedy ani omylem.
    Zkuste si to.
    yes >/sbin/init
    Tedy zafunguje CoW a běžící program přepsání souborů s původní binárkou a knihovnami neuvidí.

    Funkci copy on write na běžných souborových systémech nenajdete.
    Kdyby tohle nějaký operační systém neuměl, byl by téměř nepoužitelný.
    Ano ano jistě...
    In Ada the typical infinite loop would normally be terminated by detonation.
    pavlix avatar 5.3.2011 19:04 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Když přepíšete spuštěnou binárku tak ten spuštěný proces nejspíš spadne.
    Důvod?
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    5.3.2011 20:42 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Protože se tím přepíše jeho kód. Viz #52.
    In Ada the typical infinite loop would normally be terminated by detonation.
    pavlix avatar 8.3.2011 11:31 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Jojo, dík, už jsem měl diskuzi pročtenou celou :).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    4.3.2011 08:29 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Třeba někdo oprášil tuhle magořinu. Jako první bych nicméně zkusil vypnout SELinux.
    4.3.2011 14:34 Sten
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Mám zkušenost, že tohle to dělá i v Debianu a Ubuntu, kde mám SELinux vypnutý.
    4.3.2011 17:23 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Jako první bych nicméně zkusil vypnout SELinux.

    A pak nezapomeňte jedním dechem odsoudit windowsáky za to, že všechno pouští s administrátorskými právy...
    In Ada the typical infinite loop would normally be terminated by detonation.
    4.3.2011 18:34 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Ti to ale asi nedělají proto, aby se přesvědčili, že je problém oprávněních a pak to nerevertují zpět a nehledají systémové řešení, že :) Ti to dělají proto, aby to takto nainstalovali a mohli používat.
    5.3.2011 20:47 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Ti to ale asi nedělají proto, aby se přesvědčili, že je problém oprávněních a pak to nerevertují zpět a nehledají systémové řešení, že :)
    Kdyby se chtěl jenom přesvědčit a rozuměl by tomu tak by věděl že SELinux poskytuje tunu nástrojů jak to udělat efektivněji než to vypnout. Takže ne, na mě to působí stejně.
    In Ada the typical infinite loop would normally be terminated by detonation.
    4.3.2011 12:46 Atom321 | skóre: 20
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Jde ta spuštěná binárka smazat (rm -f) nebo přejmenovat? Dělá to jen u spuštěných, nebo u všech otevřených souborů obecně? A na jakém filesystému?
    4.3.2011 14:29 Sten
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Zkuste se uklidnit a neplést si pojmy a dojmy.

    cp nevyrobí nový inode, ale přepíše obsah starého. To Linux u spuštěných binárek nedovolí, protože by mu to přepsalo kód, který mapuje do paměti, a binárka by zhavarovala. Řešení je vytvořit soubor třeba $NAME.new a potom mv $NAME.new $NAME, který atomicky smaže $NAME (inode zůstane zachován, dokud program poběží) a nahradí jej za $NAME.new. Všechny balíčkovací systémy to tak dělají.
    4.3.2011 16:09 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Tak to na mojom Slackware bude asi niečo zle. Pretože upgrade sa robí tak, že sa roztaruje balík v root-e. Ten rozhodne nejaké .new nerobí. A upgrade bežne robím tak, že zhodím X, updatnem balíky a nahodím X naspäť. Prepíšem tak glibc, bežiaci bind, openssl či sshd, ... čokoľvek. A nič nepadá.
    4.3.2011 17:24 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    A víte co dělá ten tar? Nejprv cílový soubor smaže. Pak tam nacpe jiný.
    In Ada the typical infinite loop would normally be terminated by detonation.
    4.3.2011 18:38 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Spíš je něco zle se Slackem, když musíte kvůli upgrade shazovat X :D
    4.3.2011 21:38 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Ani nie s X ako s KDE. To je býva občas nešťastné, keď aplikácia loadne novšie verzie zdieľaných KDE knižníc, než má v sebe loadnutý zvyšok KDE. Aspoň myslím.
    4.3.2011 17:30 chrono
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    To Linux u spuštěných binárek nedovolí, protože by mu to přepsalo kód, který mapuje do paměti, a binárka by zhavarovala.
    Linux to bez problémov dovolí (nie raz som si tak zhodil nejaký program).
    4.3.2011 18:07 Sten
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Pokud jste tu binárku nespouštěl nějak exoticky (třeba přes ldopen + jmp), tak nedovolí. Ale dovolí přepsat knihovny, takže jste to mohl shodit tak. Dlouho se o tom vedla diskuse s Linusem, jak by měl Linux detekovat sdílené knihovny (k chráněné binárce připojené pomocí ld.so, tedy z user space) a nedovolit DoS útok (třeba kdyby user space mohlo provést MAP_DENYWRITE na „/etc/passwd“), ale nic z toho nebylo.
    4.3.2011 18:53 ojel
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Zkoušel jste ověřit to, co tady stále dokola tvrdíte?

    já jsem celý problém pochopil takhle:

    1. spustím kuku.bin, což je třeba okenní aplikace, která zůstane běžet

    2. otevřu si terminál a

    cp bla.bin kuku.bin

    výstupem je:

    cp: cannot create regular file `kuku.bin': Text file busy

    3. cp -f bla.bin kuku.bin

    výstup žádný, binárka se přepíše, ale program běží klidně dál, funguje a nikam nepadá, jak tady bylo tvrzeno (možná je to tím, že binárka není moc velká a je celá v paměti)

    Tohle je ve Fedoře 13, bez SELinuxu. A autor původního dotazu tvrdí, že ve Fedoře 14 se tohle chování změnilo, že se to i s přepínačem -f chová jako bez něj. Tak prosím, zanechte nepodložených tvrzení.
    4.3.2011 18:55 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Asi tak nějak. Právě jsem si přepsal běžící bash busyboxem, funguje to naprosto normálně a nic nespadlo.
    4.3.2011 19:11 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    To je pořád dokola… nic jste nepřepsal. Zkuste na to pustit strace, ať vidíte, co se opravdu děje.
    4.3.2011 19:16 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Bezva. Takže mě cp -f funguje, když ten bash pustím znova, tak naběhne busybox, nic nespadlo, žádné chyby. Narozdíl od oněch bludů, co tady jsou označeny za řešení. (Co se opravdu děje píšou v man stránce, nicméně vám bych radši doporučil přečíst si původní dotaz a popis problému, ať se tady nebavíme vo hovně.)
    4.3.2011 19:23 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Trvám na tom, že jste ten soubor nepřepsal. To není jen slovíčkaření, ten rozdíl je dost podstatný. Přepsání by bylo to, co by udělal cp bez přepínače -f. Při "cp -f" (nebo obecně smazání a vytvoření nového) tam ten původní soubor zůstane až do chvíle, kdy ho poslední proces přestane používat (sice už na něj neodkazuje žádná adresářová položka, ale ve filesystému pořád je).
    4.3.2011 19:29 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Cituji původní dotaz:
    Po updatu na Fedoru 14 mě linux totálně šokoval, když "cp -f" odmítlo přepsat právě spuštěnou binárku.
    Nechtěl byste se tedy vrátit k problému, který tady řešíme, místo off-topic nesmyslů a šíření zcela bludných "řešení"?
    4.3.2011 19:34 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Ne, nechtěl. Já totiž nereagoval na původní dotaz. Reagoval jsem na tvrzení, že se někomu podařilo přepsat spuštěný spustitelný soubor. Takové tvrzení je nepravdivé a vaše rozčilování na tom nic nezmění. Dokonce ani to, zda se původnímu tazateli opravdu nepodařilo nahradit (ne přepsat) běžící program novým souborem, na tom vůbec nic nemění.
    4.3.2011 19:37 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Aha, takže vy jste sem přišel buzerovat s off-topic blábolením o akademických broskvovinách. To jsme opravdu nadšeni. Příště napíšu "přepsat" do uvozovek, abych se podobné debilní debatě z jedinci vašeho typu vyhnul.
    4.3.2011 19:39 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Nechtěl byste se uklidnit? Docela by pomohlo, kdybyste místo rozčilování pořádně četl příspěvky, na které odpovídáte, a sledoval kontext, ve kterém se vyskytují.
    4.3.2011 19:41 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Možná by pomohlo, kdybyste si konečně ráčil přečíst ten původní dotaz. Kvůli vaší posedlosti blábolením o akademických nesmyslech nebudu slovo "přepsal" opisovat půlstránkovým technickým popisem toho, co se děje.
    Max avatar 4.3.2011 21:17 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Michal Kubeček jen reagoval nato, že jsi tvrdil, že se soubor přepíše. Toto slovo má svůj význam, který zřejmě zlehčuješ. Ty jsi se dopustil omylu/lži/prostě nepravdy a Michal Kubeček tě opravil. Tak už svůj úplk přijmi, neříkej tomu přepsání a bude klid ;-).
    Zdar Max
    Měl jsem sen ... :(
    4.3.2011 21:52 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Já tomu neříkám přepsání, já jsem to napsal zcela úmyslně a hodlám to psát i nadále, viz předchozí příspěvek. Pokud s tím pan Kubeček nemůže žit, nechť vymyslí jiný jednoslovný výraz pro přepsání souboru pomocí "cp -f" a nechá si ho patentovat.
    5.3.2011 04:48 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Tys tomu zase dal, taková konstruktivní diskuze a ty ses v tom takhle vyrochnil.

    Michal samozřejmě ví, o čem mluví, už ani nepamatuji, že bych od něj někdy četl nějaký nepravdivý příspěvek, a ty do toho vlítneš se svými pokusy s bashem a busyboxem jak rotvajler do kurníku. Víc studuj než se začneš do někoho navážet. "Naběhl mi busybox! Důkaz proveden.". Takový kraviny tu musim číst. Bože.
    5.3.2011 09:18 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Vy dva s Kubečkem mi připomínáte politiky, co "diskutují" o tom, že stát je na mizině, a místo řešení se celé týdny dohadují o tom, jestli se má říkat, že je státní kasa rozkradená, vytunelovaná, zpronevěřená nebo radši jen že je prázdná. Takové kraviny tu musím číst. Bože.
    pavlix avatar 5.3.2011 19:14 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Vy dva s Kubečkem mi připomínáte politiky, co "diskutují" o tom, že stát je na mizině, a místo řešení se celé týdny dohadují o tom, jestli se má říkat, že je státní kasa rozkradená, vytunelovaná, zpronevěřená nebo radši jen že je prázdná.
    A ty mi připomínáš malé děcko, které se rozčiluje, že si taťkové politikové radši nepovídají s tebou o tom, proč je červená karkulka zrovna červená :).

    Jinak to, co tu psal Michal Kubeček mně osobně strašně pomohlo, protože jsem doteď o tomto nevěděl. A že zajímavých a pro mě nových informarmací se na Abclinuxu zase tolik nedozvídám.

    Že se vlákno objevilo u dotazu v poradně, se kterým blízce souvisí, to mi nijak nevadí. Ale že někdo zaplácává poradnu Abclinuxu urážením linuxových profíků jako je Michal, to už je docela trapný.

    (Michala tímto zvu minimálně na pivo či nějaký ekvivalent.)
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    4.3.2011 19:32 ojel
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Vzpamatujte se už! Nikdo přece netvrdil, že se přepíše stejné místo na disku. To je přece známo, že se otevřený soubor ve skutečnosti nesmaže, dokud ho proces nepustí. A s tím cp je to podobné. Pokud je soubor otevřený, tak cp -f použije jiné inody, viz příklad nahoře. Ale má to udělat potichu bez odmítání.
    4.3.2011 19:35 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Ale má to udělat potichu bez odmítání.
    Hurááá. Aspoň někdo pochopil, o čem se tady bavíme.
    4.3.2011 19:37 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Přečtěte si, prosím, co jsem napsal a hlavně na co jsem odpovídal.
    pavlix avatar 5.3.2011 19:16 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Ale má to udělat potichu bez odmítání.
    On to nejen udělat má, on to dokonce dělá, tedy pokud máš opravdu na mysli na mysli cp -f.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    stativ avatar 5.3.2011 19:29 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Podle dotazu zrovna cp -f nefunguje. Tipuji to ne SELinux.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    pavlix avatar 5.3.2011 19:32 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    A... tak v tom máš pravdu.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    5.3.2011 20:40 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Tipuji to ne SELinux.
    Nebo chmod -w adresář_s_programem
    In Ada the typical infinite loop would normally be terminated by detonation.
    4.3.2011 19:25 ojel
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Aha, tak to mám asi vlčí mlhu.

    Takže ještě jednou:

    1.pustím binárku "kuku.bin", ta běží

    2. stat kuku.bin vypíše:
      File: `kuku.bin'
      Size: 175817    	Blocks: 352        IO Block: 4096   regular file
    Device: fd03h/64771d	Inode: 3810870     Links: 1
    
    2. cp -f bla.bin kuku.bin

    3. stat kuku.bin vypíše:
      File: `kuku.bin'
      Size: 39060     	Blocks: 80         IO Block: 4096   regular file
    Device: fd03h/64771d	Inode: 3810857     Links: 1
    
    4. Binárka furt běží a je funkční...

    Nikdo netvrdil, že mají být obsazeny stejné inody. Tvrdil, že -f nezkopíruje jednu binárku na druhou. Tak jsem zvědav na nějaké argumenty podložené praxí.
    4.3.2011 19:27 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Tak si všimněte komu a na co odpovídáte. Tvrdil jsem, že ten soubor nebyl přepsán a na tom trvám. Koneckonců to potvrzuje i ten váš výpis.
    4.3.2011 19:28 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    3. cp -f bla.bin kuku.bin

    výstup žádný, binárka se přepíše, ale program běží klidně dál, funguje a nikam nepadá, jak tady bylo tvrzeno (možná je to tím, že binárka není moc velká a je celá v paměti)
    To je tím, že -f provede smazání a vytvoření, pokud se nepovede přepsání.
    In Ada the typical infinite loop would normally be terminated by detonation.
    4.3.2011 19:39 ojel
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    No ano!

    Ale půvovdní dotaz tvrdil, že mu to F14 odmítla přepsat v tom smyslu, že cp -f vůbec neproběhlo, ať už je kopírovací mechanismus jakýkoliv. Domnívám se, že autor příspěvku neřešil, zda se přepíšou stejné inody, nebo zda se soubor smaže a vytvoří nový se stejným názvem na jiném místě. Možná by se k tomu měl vyjádřit on, jak to myslel.
    pavlix avatar 5.3.2011 19:18 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Ale půvovdní dotaz
    Netrefil jsi sled příspěvků ve vlákně. Přeskoč na začátek a čti znova, jinak to nemá smysl :). Jak to myslel autor dotazu v poradně je v tomto případě irelevantní.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    5.3.2011 04:55 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    výstup žádný, binárka se přepíše, ale program běží klidně dál, funguje a nikam nepadá, jak tady bylo tvrzeno (možná je to tím, že binárka není moc velká a je celá v paměti)

    Nepadá to nikoliv proto, že by "binárka byla malá a byla celá v paměti", ale proto, že nebyla fyzicky přepsána, byla jen smazána a bla.bin obsadil jiný inode. Kdybyste ji opravdu přepsal, tak by to tak vesele dál neběželo. cp -f nepřepisuje existující soubor, pouze zařídí to, že to tak neznalému uživateli (nechci ho konkrétně jmenovat :) připadá.
    5.3.2011 13:09 ojel
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Ano, to s tím "celá v paměti" beru zpět. Ale dohadovat se o tom, jestli slovo "přepsání" znamená přepsání konkrétních inodů nebo alokování jiných a přepsání hlavičky, se už nebudu, protože je to skutečně na úrovni červené a modré čepičky. Na druhou stranu by mne zajímalo, proč by vlastně měl program havarovat? Programoval jsem docela dost pod DOSem, kde žádné blokování zápisu do konkrétnách alokačních jednotek neexistovalo a nikdy nic nepadalo. Soubory .com vůbec ne, ty jsou celé v jednom paměťovém segmentu a exáče taky ne, pokud nepoužívaly tzv. overlaye na disku. Pochybuju, že by dnes existovalo mnoho binárek, které by se nevešly celé do paměti. A pokud se nevejdou do paměti, tak se spíše asi swapnou, ne? Žádné diskové overlaye. Tak mi někdo FUNDOVANÝ vysvětlete, proč by měly padat!
    5.3.2011 14:01 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    jestli slovo "přepsání" znamená přepsání konkrétních inodů nebo alokování jiných a přepsání hlavičky … je to skutečně na úrovni červené a modré čepičky.

    Ve chvíli, kdy tam budete mít hardlink, je ten rozdíl dost podstatný. Při přepsání bude druhá adresářová položka linkovaná na přepsaný soubor (tj. nový obsah), zatmco při nahrazení pod druhou položkou dál uvidíte původní soubor.

    Pochybuju, že by dnes existovalo mnoho binárek, které by se nevešly celé do paměti.

    To, jestli se vejdou do paměti, a tedy se mohou potenciálně obejít bez souboru ve filesystému, ještě automaticky neznamená, že se můžete spolehnout, že se do toho souboru už nebude sahat. Navíc i v případě, že by tomu tak u aktuální verze linuxového jádra opravdu bylo, pokud toto chování není zdokumentováno nebo ještě lépe podloženo specifikací předepisující, že to tak musí být, nelze se na něj spoléhat. Osobně nevím o tom, že by nějaká specifikace garantovala možnost beztrestného přepsání spuštěného spustitelného souboru (ale nemohu stoprocentně vyloučit, že existuje).

    5.3.2011 15:02 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Kubeček, to psali podle nich?
    pavlix avatar 5.3.2011 19:21 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Lol Phirae?

    Jinak, kdybysis potřeboval vybít vztek i na mě, mám v profilu i na webovkách celé jméno :).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    5.3.2011 14:51 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Programoval jsem docela dost pod DOSem, kde žádné blokování zápisu do konkrétnách alokačních jednotek neexistovalo a nikdy nic nepadalo. Soubory .com vůbec ne, ty jsou celé v jednom paměťovém segmentu a exáče taky ne, pokud nepoužívaly tzv. overlaye na disku. Pochybuju, že by dnes existovalo mnoho binárek, které by se nevešly celé do paměti. A pokud se nevejdou do paměti, tak se spíše asi swapnou, ne? Žádné diskové overlaye. Tak mi někdo FUNDOVANÝ vysvětlete, proč by měly padat!

    V DOSu se program nejprv načetl do paměti a pak se spustil. V moderních systémech se jen namapuje adresa v paměti na prostor na disku a program se spustí. Načtení do RAM zajistí mechanizmus diskové cache. Stejný mechanizmus se ale může rozhodnout, pokud je tlak na paměť, že nacachované stránky zahodí a pokud IP běžícího programu dojde do té stránky, tak se zase dotáhne z disku. Tou dobou tam ale už můžou být nějaké bláboly, pokud ty data na disku přepíšete a program začne vykonávat úplně jiné instrukce a nejspíš spadne na SEGV.

    Ukládání stránek s kódem do swapu nemá smysl, protože jsou stejně na disku v tom spustitelném souboru.
    In Ada the typical infinite loop would normally be terminated by detonation.
    5.3.2011 20:48 ojel
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Díky za vysvětlení. Sice mi to připadá trochu podivné - resp. v tom nejsem schopný vidět žádnou výhodu, ale zkoumat zavaděč ELFu se mi už nechce, jsem na to moc starý, abych na to plýtval časem. Měl jsem za to, že daleko více paměti zabírají datové struktury, než vlastní výkonný kód a také jsem měl za to, že struktura běžícího programy v paměti neodpovídá 1:1 kopii sektorů na disku, takže to mapování paměti na disk nechápu, ale budiž. Ještě jednou děkuji.
    8.3.2011 16:01 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Měl jsem za to, že daleko více paměti zabírají datové struktury, než vlastní výkonný kód

    Poměr kódu a dat závisí na spuštěném programu, každopádně to s tím úplně nesouvisí - pointa je, že nějaký kód ten program vykonává.

    Pro ilustraci si můžete představit, že přepsání kódu v souboru na disku rovná se přepsání odswapovaných dat.

    struktura běžícího programy v paměti neodpovídá 1:1 kopii sektorů na disku, takže to mapování paměti na disk nechápu
    To si můžete jednoduše ověřit v /proc/PID/maps - dívejte se jak velké kusy jsou namapované s právem x (execute). Většinou tam najdete jeden blok pro exe soubor a po jednom pro knihovny. Kód přeložený do strojových instrukcí většinou stačí jen nahrát a spustit. Proto se tomu říká kód přeložený do strojových instrukcí.
    In Ada the typical infinite loop would normally be terminated by detonation.
    8.3.2011 20:45 ojel
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    podíval jsem se na mapování seamonkey :-)

    4.3.2011 19:02 ojel
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Proč jsou některé komentáře označeny jako řešení, když nejsou žádným řešením, nýbrž pustým bludem?
    pavlix avatar 5.3.2011 19:32 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Proč jsou některé komentáře označeny jako řešení, když nejsou žádným řešením
    Tady ti musím dát za pravdu, zbytek věty radši nekomentuju.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    4.3.2011 19:53 ojel
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Tak jsem to zkusil na F14, se zapnutým SELinuxem a cp -f mi běžící binárku normálně "přepsal" ("" pro puntičkáře). Tak by mne tedy zajímalo, co vlastně původní tazatel pozoroval???
    4.3.2011 21:48 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    To je právě ten problém - bez bližších informací o tom, co konkrétně tazatel dělal a za jakých okolností (nejlépe doplněných o výstup strace) se to dá těžko nějak řešit, nanejvýš napsat "works for me".
    4.3.2011 22:46 jekub
    Rozbalit Rozbalit vše Re: Parchantí nám Linux (přepsání spuštěné binárky)?
    Tak by mne tedy zajímalo, co vlastně původní tazatel pozoroval?

    vzhledem k tomu, ze se v teto velmi plodne diskusi uz neobjevil, je to asi celkem jasne.

    Založit nové vláknoNahoru

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

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