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 13:33 | Komunita

    Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.

    |🇵🇸 | Komentářů: 0
    dnes 13:22 | Nová verze

    Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | Nová verze

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Komunita

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

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

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 3
    včera 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    19.6. 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

    Ladislav Hagara | Komentářů: 0
    19.6. 09:55 | Nová verze

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 3
    18.6. 13:33 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.6. Přehled novinek s náhledy v oznámení na blogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1954 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 256×
    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.