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:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    dnes 12:33 | IT novinky

    Evropská komise by do léta mohla předložit návrh normy omezující používání sociálních sítí dětmi v zájmu jejich bezpečí na internetu. Prohlásila to včera předsedkyně EK Ursula von der Leyenová, podle níž řada zemí Evropské unie volá po zavedení věkové hranice pro sociální sítě. EU částečně řeší bezpečnost dětí v digitálním prostředí v již platném nařízení o digitálních službách (DSA), podle německé političky to však není dostatečné a

    … více »
    Ladislav Hagara | Komentářů: 1
    dnes 04:11 | Nová verze

    Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 4.0.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Pozvánky

    Chybí vám někdo, s kým byste si popovídali o bastlení, technice, počítačích a vědě? Nechcete riskovat debatu o sportu u piva v hospodě? Pak doražte na virtuální pokec u virtuálního piva v rámci Virtuální Bastlírny organizované strahovským MacGyverem již tento čtvrtek. Možná se ptáte, co se tak může probírat? Dají se probrat slavná výročí - kromě 55 let obvodu 555 (což je mimochodem prý andělské číslo) a vzpomínky na firmu Signetics -

    … více »
    bkralik | Komentářů: 0
    včera 23:11 | Zajímavý software

    GTK2-NG je komunitní fork GTK 2.24 (aktuální verze je 4.22). Oznámení a diskuse v diskusním fóru Devuanu, forku Debianu bez systemd. Není to jediný fork GTK 2. Ardour je například postaven na vlastním forku GTK 2 s názvem YTK.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Pozvánky

    V neděli 17. května 2026 proběhne v Českých Budějovicích první MobileLinux Hackday zaměřený na Linux v mobilech, embedded platformy a open source hardware. Po sedmi úspěšných měsíčních setkáních v Praze se akce přesouvá také do jižních Čech, aby se komunita mobilního Linuxu mohla potkat i mimo hlavní město. Akce se uskuteční v konferenčním sále Vajgar v Clarion Congress Hotelu (Pražská tř. 2306/14) se zahájením mezi 14:00 až 15:00 a … více »

    lkocman | Komentářů: 0
    včera 15:00 | Komunita

    Vývojáři Debianu zhruba v polovině vývojového cyklu Debianu 14 s kódovým názvem Forky rozhodli, že Debian musí dodávat reprodukovatelné balíčky, tj. kdokoli si může nezávisle ověřit, že daný binární balíček vznikl překladem a sestavením z konkrétních zdrojových kódů. Aktuálně je reprodukovatelných 98,29 % balíčků.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Bezpečnostní upozornění

    Německý e-shop Škoda Auto byl hacknut. Útočníci získali přístup k uživatelským údajům (jméno, adresa, e-mail, heslo, telefon, …).

    Ladislav Hagara | Komentářů: 4
    včera 11:22 | Pozvánky

    Na webu konference Den IPv6 2026, která se uskuteční 4. června v Národní technické knihovně v pražských Dejvicích, je nyní k dispozici kompletní program této tradiční akce věnované tématům spojeným s protokolem IPv6. Na celodenní pásmo přednášek je třeba se přihlásit a zaplatit účastnický poplatek 242 korun. Registrační formulář najdou zájemci opět na webu akce. Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 1
    11.5. 23:33 | Zajímavý software

    Byl představen emulátor terminálu Ratty (GitHub) s podporu 3D grafiky přímo v terminálu. Inspirací byl operační systém TempleOS od Terryho Davise. Ratty je napsán v jazyce Rust. Využívá knihovnu Ratatui pro tvorbu rozhraní a herní engine Bevy pro 3D vykreslování.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (9%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1593 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: setuid, spuštění skriptu a špatný vlastník souboru

    11.1.2007 13:12 gagod | skóre: 2
    setuid, spuštění skriptu a špatný vlastník souboru
    Přečteno: 281×
    zdar, potřebuju pod apachem spustit skript, který zkompiluje a spustí cizí program pod jiným uživatelem. Pokud jsem správně pochopil setuid-skripty tak by měl ten program spustit shellskript právě pod tím jiným uživatelem.
    useradd -u 555 -g ulohy -M -d /tmp/ -s /sbin/nologin uloznik
    passwd -d uloznik
    
    test.c
    #include cstdlib
    #include iostream
    #include string
    // http://yolinux.com/TUTORIALS/ForkExecProcesses.html, man execve
    using namespace std;
    main(){
      // nove prostredi
      char *env[]={"UID=555","USER=uloznik","LANG=en_US.UTF-8","PATH=/usr/bin:/bin",(char *) 0};
      char *Env_argv[] = { "./ko.sh",NULL, (char *) 0 };
      int ret;
      ret = execve (Env_argv[0], Env_argv, env);
      cout << "Failure! execve error code=" << ret << endl;
    }
    
    ko.sh
    #!/bin/bash
    touch novy_soubor
    echo $USER
    groups
    
    jenže skript se sice spustí v novém prostředí, ale s mými pravy, což nechci
    $ ./test
    uloznik
    maro users
    $ ll novy_soubor test
    -rw-r--r-- 1 maro    maro    0 Jan 11 13:04 novy_soubor
    -rwsr-xr-x 1 uloznik maro 6787 Jan 11 12:48 test
    
    Co dělám špatně? Potřebuju, aby nový soubor (když už něco zkompiluji) měl práva jako "uloznik".

    Odpovědi

    marek_s avatar 11.1.2007 13:42 marek_s | skóre: 8 | Loučky
    Rozbalit Rozbalit vše Re: setuid, spuštění skriptu a špatný vlastník souboru
    Nevim, nevim ... nemuze to byt tim, ze je oddil namountovan jako nosuid?
    "Consummatum est" -- Iesus Nazarenus
    11.1.2007 13:45 gagod | skóre: 2
    Rozbalit Rozbalit vše Re: setuid, spuštění skriptu a špatný vlastník souboru
    spoustim to v /tmp/
    LABEL=/                 /                       ext3    defaults        1 1
    11.1.2007 17:13 marek
    Rozbalit Rozbalit vše Re: setuid, spuštění skriptu a špatný vlastník souboru
    Uz je mne to jasne... V unixu existuji dva druhy uid (asi jeste vic) ... efektivni a realne. Efektivni je to co muzu delat a realne je to co jsem. Nastavenim setuidbitu zmenim Efektivni, NE VSAK realne. Potrebuji tedy v programu nastavit realne uid na efektivni. Jednoduse treba takto:
    euid=geteuid();
    setreuid(euid,euid);
    
    Takhle mi to funguje...
    11.1.2007 19:10 gagod | skóre: 2
    Rozbalit Rozbalit vše Re: setuid, spuštění skriptu a špatný vlastník souboru
    jo, funguje, ale pro skupinu mi to nejede...
    $ cat ko.sh 
    #!/bin/bash
    touch novy_soubor
    echo "user $USER"
    echo "uid $UID"
    echo "euid $EUID"
    groups
    
    $ cat test.c 
    #include cstdlib
    #include iostream
    #include string
    // http://yolinux.com/TUTORIALS/ForkExecProcesses.html
    using namespace std;
    main(){
            //"EUID=555","UID=555","USER=uloznik",
            char *env[]={"LANG=en_US.UTF-8","PATH=/usr/bin:/bin",(char *) 0};
            char *Env_argv[] = { "./ko.sh",NULL, (char *) 0 };
            int ret,euid,egid;
            euid = geteuid();
            setreuid(euid,euid);
            egid = getegid();
            setegid(egid);
       ret = execve (Env_argv[0], Env_argv, env);
       cout << "Failure! execve error code=" << ret << endl;
    }
    
    # chown uloznik:ulohy /tmp/test
    # chmod gu+s /tmp/test
    
    $ ./test
    user 
    uid 555
    euid 555
    maro apache users
    
    $ ll test novy_soubor 
    -rw-r--r-- 1 uloznik maro     0 Jan 11 19:09 novy_soubor
    -rwsr-sr-x 1 uloznik ulohy 7160 Jan 11 19:08 test
    
    Tak mě napadá, proč teoreticky nestačí to EUID nastavit v novém prostředí?
    char *env[]={"UID=555","EUID=555","USER=uloznik","LANG=en_US.UTF-8","PATH=/usr/bin:/bin",(char *) 0};
    Zkoušel jsem tuto kombinaci, ale novy_soubor ma porad skupinu "maro"
    setreuid(euid,euid);
    egid = getegid();
    
    co ted?
    marek_s avatar 11.1.2007 19:28 marek_s | skóre: 8 | Loučky
    Rozbalit Rozbalit vše Re: setuid, spuštění skriptu a špatný vlastník souboru
    myslim, ze setregid bude ta spravna volba. Podobne jako v predchozim to bude chtit (asi -nezkousel jsem to) udelat toto:
    gid=getegid();
    setregid(gid,gid);
    
    Samotny setegid(egid) Vam nepomuze - nastavite efektivni gid na efektivni gid - tedy nic jste neudelal. Potrebujete ovsem nastavit realne na efektivni...
    "Consummatum est" -- Iesus Nazarenus
    11.1.2007 20:33 gagod | skóre: 2
    Rozbalit Rozbalit vše Re: setuid, spuštění skriptu a špatný vlastník souboru
    dík moc, to jsem potřeboval

    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.