abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 14:22 | Zajímavý projekt

    Jack Dorsey představil (𝕏) open source týmovou komunikační platformu Buzz (GitHub) s cílem snížit závislost na Slacku a GitHubu.

    Ladislav Hagara | Komentářů: 13
    23.7. 23:00 | Nová verze

    Poštovní klient Thunderbird byl vydán v nové verzi 153 s kódovým názvem Meadow. Jedná se o ESR (Extended Support Release) vydání. Přehled novinek v poznámkách k vydání. Vylepšuje OAuth. Thundermail lze používat bez instalace doplňku.

    Ladislav Hagara | Komentářů: 0
    23.7. 22:22 | Zajímavý článek

    AI tento rok naplno vtrhla do vývoje softwaru a výrazně ovlivňuje také open source projekty. Jiří Eischmann v příspěvku Jak mění AI open source na svém blogu rozebírá několik trendů, které v open source v poslední době v souvislosti s AI pozoruje, a jak tyto trendy svět otevřeného softwaru mění (Inflace projektů, Zahlcení kontroly, Klesající motivace zveřejňovat kód).

    Ladislav Hagara | Komentářů: 15
    23.7. 22:00 | IT novinky

    Evropská komise (EK) vyměřila americké internetové společnosti Google pokutu 890 milionů eur (21,5 miliardy Kč) za porušení unijního nařízení o digitálních trzích (DMA). Firma se podle unijní exekutivy provinila tím, že ve vyhledávači Google Search upřednostňovala vlastní služby a že podnikům ukládala omezení, která jim bránila nasměrovat spotřebitele k alternativním, často levnějším nákupním kanálům na platformě Google Play.

    … více »
    Ladislav Hagara | Komentářů: 2
    22.7. 19:44 | IT novinky

    Samsung na akci Galaxy Unpacked July 2026 (YouTube) představil své nové telefony Galaxy Z Fold8 Ultra, Fold8 a Flip8, hodinky Galaxy Watch Ultra2 a Watch9 a chytré brýle ve spolupráci s Gentle Monster a Warby Parker.

    Ladislav Hagara | Komentářů: 0
    22.7. 16:11 | IT novinky

    Po pěti letech vývoje vyšla česká počítačová hra Scarlet Deer Inn (ProtonDB). Scarlet Deer Inn je vyšívaná temná středověká pohádka. Zatímco život ve zdánlivě obyčejné vesnici se točí kolem běžných povinností a sousedských drbů, v podzemí se skrývají zlověstná tajemství.

    Ladislav Hagara | Komentářů: 2
    22.7. 13:33 | IT novinky

    Představen byl Raspberry Pi Touch Display 2 s uhlopříčkou 10 palců a rozlišením 1200 × 1920 pixelů. Cena je 80 dolarů.

    Ladislav Hagara | Komentářů: 8
    22.7. 13:22 | Komunita

    RPCS3 (Wikipedie), tj. open source emulátor Sony PlayStation 3, snížil minimální požadavky. Nově jsou podporovány starší grafické karty ATI Radeon řady HD 2000, 3000 a 4000 z let 2007 až 2009. Na PC běží už 75 % všech her pro PlayStation 3. V budoucnu bude RPCS3 fungovat bez firmwaru z PS3. V RPCS3 byl implementován systémový modul cellSysmodule (𝕏).

    Ladislav Hagara | Komentářů: 2
    22.7. 11:00 | Zajímavý software

    Vyšel open-source nástroj winetop (MIT) — nativní CLI/TUI pro sledování a ukončování Wine, Proton, Lutris, Heroic a Bottles sezení. Seskupuje procesy podle WINEPREFIX / Steam AppId, umí bezpečně zabít jen hru (včetně Steam reaperu) a nabízí i skriptovatelné příkazy (list, kill, orphans, …). Balíčky jsou mimo jiné na crates.io, Copru (dnf copr enable kovariadam/winetop), PPA ppa:kovariadam/winetop a AUR (winetop-bin).

    kovariadam | Komentářů: 0
    22.7. 02:44 | IT novinky

    Ve spolupráci společností OpenAI a Work Louder byla představena (𝕏) hardwarová klávesnice Codex Micro pro práci s AI agenty. Cena klávesnice je 230 dolarů.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (30%)
     (5%)
     (6%)
     (2%)
     (15%)
     (24%)
    Celkem 2217 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    SUID bit - perl versus bash

    24.2.2009 22:01 | Přečteno: 1828× | Výběrový blog

    Tak jsem narazil na zajímavé chování archlinuxu a chci se s vámi o něj podělit, třeba to někoho inspiruje k tomu, že rozluští a vysvětlí příčinu. Jde o použití SUID bitu při spouštění skriptů - narazil jsem na to při psaní bakalářky. Konkrétně jde o následující problém: Máme nějaký skript, který po spuštění uživatelem potřebuje pracovat s věcmi, ke kterým má přístup pouze root (např. procházení některých logů, či vypsání všech .pid souborů z /var/run). Otázka je, jak uvedené chování co nejefektivněji zařídit? (uvítám jakékoli doporučení)

    Nabízí se použití SUID bitu, jenže při tom člověk narazí na problém - skript si spustí interpreta a tomu už SUID bit nepředá, nebo alespoň by neměl a já si to myslel. No ale člověk za pokus nic nedá, a hle, při použití perlu skript k root věcem přistoupí, při použití bashe ne. Nemáte někdo potuchy proč to tak je? Chování je v distribuci archlinux, v jiných distrech jsem to nezkoušel.

    Proč se tedy perl chová tak "divně"?

    Poznámka: skript running_deamons.pl vyhodí pid ze všech souborů, které končí na .pid ve /var/run. syslog-ng jak vidíte níže může číst pouze root...proto použití suid bitu. Výstup skriptu jsem trochu osekal, aby bylo vidět hlavně to důležité.

    [root@archeee daemons]# chmod 4755 running_daemons.pl 
    [root@archeee daemons]# ls -l
    -rw-r--r-- 1 jerka users 276 2009-02-23 15:22 main.php
    -rwsr-xr-x 1 root  root  497 2009-02-23 21:02 running_daemons.pl
    [root@archeee daemons]# exit
    
    [jerka@archeee daemons]$ ./running_daemons.pl 
    3057 is pid of crond.pid
    2928 is pid of syslog-ng.pid
    16781 is pid of dhclient.pid
    3031 is pid of dbus.pid
    [jerka@archeee daemons]$
    
    [jerka@archeee daemons]$ ls -l /var/run/syslog-ng.pid 
    -rw------- 1 root root 4 2009-02-20 13:31 /var/run/syslog-ng.pid
    
    [root@archeee daemons]# chmod 755 running_daemons.pl 
    [root@archeee daemons]# exit
    [jerka@archeee daemons]$ ./running_daemons.pl 
    3057 is pid of crond.pid
    16781 is pid of dhclient.pid
    3031 is pid of dbus.pid
    [jerka@archeee daemons]$

    Co je důležité z ukázky výstupu je že když má perl SUID bit, tak syslog-ng zvládne otevřít, bez SUID bitu jak je také logické ne.

    Byl bych moc rád, kdyby někdo věděl proč to tak je, případně vyzkoušel něco podobného na své distribuci a podělil se o výsledky. Když je použit místo perlu bash, tak to syslog-ng.pid neotevře. Perl to zvládne...tak kde je problém?

    Jdu si z toho radši dát pivo. ;-)

           

    Hodnocení: 86 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    24.2.2009 22:38 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: SUID bit - perl versus bash

    hledej suidperl

    -- Nezdar není hanbou, hanbou je strach z pokusu.
    24.2.2009 22:40 Vskutečnosti Saýc | skóre: 7
    Rozbalit Rozbalit vše Re: SUID bit - perl versus bash
    Co udelat strace a zjistit kde je rozdil?
    24.2.2009 23:10 tom
    Rozbalit Rozbalit vše Re: SUID bit - perl versus bash
    Moc jste po tom nepatral, ze? Jinak byste urcite vedel, ze bash ta prava zahodi.
    25.2.2009 01:07 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: SUID bit - perl versus bash

    Jak jste na to přišel? Schválně si zkuste "skript"

    #!/bin/rm -f
    
    cokoli
    

    Když mu nastavíte SUID bit a spustíte ho jako normální uživatel, pokus o smazání sebe sama selže. Znamená to snad, že příkaz rm ta práva zahodí také?

    25.2.2009 02:00 tom
    Rozbalit Rozbalit vše Re: SUID bit - perl versus bash
    Jak jste na to přišel?
    Precetl jsem si to v man bash, cituji:
    If the shell is started with the effective user (group) id not equal to the real user (group) id, and the -p option is not supplied, no startup files are read, shell functions are not inherited from the environment, the SHELLOPTS variable, if it appears in the environment, is ignored, and the effective user id is set to the real user id. If the -p option is supplied at invocation, the startup behavior is the same, but the effective user id is not reset.
    Jeste si dovolim jeden citat:
    Pořádný muž od lúzy tím se označuje, že čemu nerozumí, to neprovozuje.
    Nechapu, proc jste si to v tom manualu neprecetl sam.
    25.2.2009 08:47 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: SUID bit - perl versus bash
    Aha, špatně jsem pochopil kontext vašeho příspěvku. Představa, že by někdo opravdu shellu vlastněnému rootem nastavil SUID příznak, mi prostě připadala příliš šílená na to, abych se zabýval tím, jak se v takové situaci bude shell chovat. Myslel jsem, že se snažíte vysvětlit, proč to nefunguje bez nastavení SUID příznaku interpreteru.
    menphis avatar 25.2.2009 00:35 menphis | skóre: 22 | blog: menphis_blog
    Rozbalit Rozbalit vše Re: SUID bit - perl versus bash
    Otázka je, jak uvedené chování co nejefektivněji zařídit? (uvítám jakékoli doporučení)

    Ja to resim, vetsnou tak, ze vytvorim skupinu pro skript. teto skupine chownu potrebne adresare. Nevzdy to, ale muze stacit, pak by snad melo pomoci udelat treba v C++ wrapper , ze ktere se danny skript spusti. (nezkousel jsem)
    25.2.2009 02:41 pils | skóre: 8 | blog: pils
    Rozbalit Rozbalit vše Re: SUID bit - perl versus bash

    Skupinou bych to resit nechtel, protoze budu potrebovat pristupovat ke konfigurakum ruznych sluzeb a tim by se instalace docela komplikovala (nikdo si asi nebude menit skupinu u konfiguraku apache a dalsich veci) ale jinak namet dobry...aspon za snahu diky moc...mozna ze jsem ted moc opily a zitra se mi tohle reseni bude libit...;-)

     

    In TUX we trust
    25.2.2009 01:27 himdel
    Rozbalit Rozbalit vše 2

    > suidperl is a setuid root helper program which is invoked by perl when
    > executing scripts with setuid/gid bits set on systems (like linux) which
    > don't have support setuid script execution natively in the kernel.
     

    Neboli, perl to osetruje, bash ne. Je to proto ze perl se snazi chovat se vsude stejne a ne vsechny unixove systemy se takto chovaji, nektere setuid bit na skriptech nezahazuji.

    Dalsim moznym resenim je pouzit sudo (v /etc/sudoers jde nastavit aby se pro dany prikaz neptal na heslo a skript muze klidne mit #!/usr/bin/sudo /bin/bash misto #!/bin/bash).

    25.2.2009 02:19 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: 2
    linux od verze 2.4 (myslim) schvalne nepredava suid bit po forku kvuli bezpecnosti
    25.2.2009 02:34 tom
    Rozbalit Rozbalit vše Re: 2
    Ne, na spouste UNIXu se suid bit ignoruje, pokud se vyuziva spousteci magic #!. Jde pouzit program indir, ktery spousteni suid skriptu celkem rozumne resi nebo to vypnout v jadre. ID se po forku chovaji normalne, vetsina lidi ma spis problem vyporadat se s tim, ze ta ID jsou vlastne 3 (real, effective a saved) a co se s nimy dela pri volani exec a fork ;-)

    Nektere shelly (napr. bash) pro zvyseni bezpecnosti jeste delaji to, ze po startu nastavi effective id na real id.
    25.2.2009 09:28 horada | skóre: 3
    Rozbalit Rozbalit vše Re: SUID bit - perl versus bash

    Proč se to chová takto a ne jinak nevím, něco podobného (tedy přístu ze skriptu spuštěného pod neprivilegovaným uživatelem ke konfiguračním skriptům a logům kam má přístup pouze root ale řeším/budu řešit ve své bakalářce také a jako nejschůdnější řešení vidím použití utility sudo + nastavení konfigurace tak aby šlo pouštět pouze některé příkazy (konkrétně budu mít asi napsaný jeden program (nejspíše v pythonu) který bude přijímat pomocí voleb na příkazové řádce co má kde udělat s těmi konfiguračními soubory/ logy a tento program bude spouštěn jiným skriptem který bude  tvořit uživatelské rozhraní (autentizaci a tak) - v mém případě přes web)

    25.2.2009 13:26 pils | skóre: 8 | blog: pils
    Rozbalit Rozbalit vše Re: SUID bit - perl versus bash

    Díky za tip, na sudo se urcite jeste podivam.

    In TUX we trust
    25.2.2009 10:14 CET
    Rozbalit Rozbalit vše Re: SUID bit - perl versus bash
    IMHO je suid prasarna (a riziko) a mel by se pouzivat opravdu jenom tam, kde jine reseni neni, nebo je trosku neprirozene (ala passwd pro uzivatele). Pokud jde o nejaky admin script, osobne bych pouzil sudo. Zjistis, ze se sudem jdou delat kouzla.

    A jeje:) Dalsi pekne zkracenina:) Kdyz jsme na VS meli Linux, tak si kolega vsimnul nekterych legracnich hlasek:

    "Udelam to v sedu" - Komentoval "Ja to udelam v lehu"

    "To je wget" (cteno veget)

    pak jeste grep, no a ted "sudem" nebo taky v sudu:)
    25.2.2009 13:28 pils | skóre: 8 | blog: pils
    Rozbalit Rozbalit vše Re: SUID bit - perl versus bash

    Jojo, se sudem to je parada...ale bez | (pipy) to nema smysl;-)

    In TUX we trust

    Založit nové vláknoNahoru

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