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í
×
dnes 12:33 | Zajímavý projekt

Kernel.org představil lore.kernel.org, tj. archiv diskusního listu vývojářů linuxového jádra LKML (Linux Kernel Mailing List) s řadou zajímavých funkcí. Archiv běží na softwaru Public Inbox.

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

Po devíti měsících vývoje od vydání verze 10.0 byla vydána verze 11.0 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 0
včera 20:44 | Nová verze

Po více než 3 měsících vývoje od vydání verze 238 oznámil Lennart Poettering vydání verze 239 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 6
včera 15:00 | Nová verze

Bylo oznámeno vydání nové stabilní verze 1.28 a beta verze 1.29 open source textového editoru Atom (Wikipedie). Přehled novinek i s náhledy v příspěvku na blogu. Podrobnosti v poznámkách k vydání. Atom 1.28 je postaven na Electronu 2.0.

Ladislav Hagara | Komentářů: 1
včera 14:00 | Nová verze

Byla vydána nová verze 2.3.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy na PIXLS.US.

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

Akční RPG hra Shadowrun Returns Deluxe, kterou lze hrát i na Linuxu je nyní zdarma na Humble Bundle. Hra vyšla díky kampani na Kickstarteru v roce 2013.

tajny_007 | Komentářů: 0
včera 01:00 | Nová verze

Byla vydána verze 1.27 programovacího jazyka Rust (Wikipedie). Z novinek je nutno zmínit podporu SIMD (Single Instruction Multiple Data). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 7
21.6. 16:22 | IT novinky

CEO Intelu Brian Krzanich rezignoval (tisková zpráva). Oficiálním důvodem je "vztah na pracovišti". S okamžitou platností se dočasným CEO stal Robert Swan.

Ladislav Hagara | Komentářů: 39
21.6. 14:11 | Komunita

Konsorcium Linux Foundation ve spolupráci s kariérním portálem Dice.com zveřejnilo 2018 Open Source Jobs Report. Poptávka po odbornících na open source neustále roste.

Ladislav Hagara | Komentářů: 1
21.6. 12:44 | Zajímavý článek

Na stránkách linuxové distribuce Ubuntu Studio byla publikována příručka Ubuntu Studio Audio Handbook věnována vytváření, nahrávaní a úpravě zvuků a hudby nejenom v Ubuntu Studiu. Jedná se o živý dokument editovatelný na jejich wiki.

Ladislav Hagara | Komentářů: 0
Jak čtete delší texty z webových stránek?
 (78%)
 (22%)
 (4%)
 (7%)
 (2%)
 (10%)
Celkem 246 hlasů
 Komentářů: 39, poslední 21.6. 17:44
    Rozcestník

    Dotaz: Suid C programu nefunguje na system('mount ...')

    2.1.2012 10:22 polymorf | skóre: 14 | blog: tar_zxpf
    Suid C programu nefunguje na system('mount ...')
    Přečteno: 182×
    Příloha:
    Mam takyto program v C:
    #include <stdio.h>
    #include <stdlib.h>
    
    // skopilovat ako root: gcc -o test test.c && chmod +s test
    // potom spustit ako obycajny user ./test
    
    int main(int argc, char *argv[]) {
    
        // toto prejde aj pod beznym userom, zobrazi /etc/shadow
        system("cat /etc/shadow");
        
        // toto neprejde, hlasi "mount: only root can do that"
        system("mount /dev/sdb1 /mnt/test");
        
        return 0;
    }
    Po skompilovani ma binarka ./test ownera aj grupu root, nastavim suid priznak a spustim to ako normalny user. /etc/shadow to normalne vypisi, ale primontovat /dev/sdb1 na /mnt/test mi to nepovoli, prise ze len root to moze robit. Pridal som normalneho usera do skupiny disk (lebo /dev/sdb1 ma skupinu "disk") ale aj tak to nejde. Dokonca ani ked suidnem /bin/mount. Mozete mi niekto vysvetlit preco to nejde a ako to spravim aby to islo (nechcem pouzit sudo).

    Řešení dotazu:


    Odpovědi

    michich avatar 2.1.2012 10:46 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: Suid C programu nefunguje na system('mount ...')
    /bin/mount sám očekává, že bude obvykle spouštěn se SUID root a porovnáná UID s EUID.
    Řešení 1× (polymorf (tazatel))
    2.1.2012 13:33 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Suid C programu nefunguje na system('mount ...')
    Dá se to obejít buď tím, že se před spouštěním mount nastaví reálné UID také na nulu nebo se místo spouštění příkazu mount použije syscall mount(). Tomu druhému bych dal přednost, z používání system() v programu spouštěném se SUID bitem mám tak trochu husí kůži.
    2.1.2012 14:13 polymorf | skóre: 14 | blog: tar_zxpf
    Rozbalit Rozbalit vše Re: Suid C programu nefunguje na system('mount ...')
    Ten mount() sa mi asi najviac pozdava (ak to bude fungovat), urobim to tak, ze "blacklistujem" particie ktore "my-mount" nepovoli primontovat (root particia, /home, v podstate particie vsetkych diskov), a vsetky ostatne (USB kluce pracovnikov) povoli primontovat.
    Řešení 1× (polymorf (tazatel))
    2.1.2012 14:25 Sten
    Rozbalit Rozbalit vše Re: Suid C programu nefunguje na system('mount ...')
    Na USB klíče a další výměnná zařízení doporučuji použít pmount ;-)
    2.1.2012 14:55 polymorf | skóre: 14 | blog: tar_zxpf
    Rozbalit Rozbalit vše Re: Suid C programu nefunguje na system('mount ...')
    Presne to som hladal, dakujem.
    2.1.2012 10:49 NN
    Rozbalit Rozbalit vše Re: Suid C programu nefunguje na system('mount ...')
    V manualu mount se pise:
    Normally, only the superuser can mount filesystems. However, when fstab contains the user option on a line, anybody can mount the corresponding system.
    NN
    2.1.2012 14:15 polymorf | skóre: 14 | blog: tar_zxpf
    Rozbalit Rozbalit vše Re: Suid C programu nefunguje na system('mount ...')
    Toto by slo pouzit, ale ked si user kupi novy usb kluc musel by som upravovat /etc/fstab takze pre moje ucely je to neprakticke.
    2.1.2012 15:37 l4m4
    Rozbalit Rozbalit vše Re: Suid C programu nefunguje na system('mount ...')
    Za celý život jsem na toto potřeboval akorát dvě položky ve fstabu: jednu pro sdb1 a jednu pro sdb (když je fs přes celý disk), kde b samozřejmě nahraď příslušným písmenem.

    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.