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

    Přímý přenos (YouTube) z konference LinuxDays 2026, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 0
    dnes 02:44 | Nová verze

    Byla vydána nová verze 0.17.0 programovacího jazyka Zig (Codeberg, Wikipedie). Přispělo 206 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Zajímavý projekt

    Open-source projekt OpenDLSS-NR je 'bitově přesná reimplementace' neuronové rendrovací sítě DLSS 5 od společnosti NVIDIA, jenže pro grafické API Vulkan (DLSS slouží k vylepšování klasickým způsobem vyrendrovaných snímků pomocí lokálních modelů umělé inteligence, a to v reálném čase). Projekt není nijak spojen se společností NVIDIA, je pouze pro OS Windows a natrénované váhy modelu si uživatelé musí obstarat sami. Zdrojový kód je k dispozici na GitHubu, pod licencí MIT s výjimkou pro komponenty třetích stran.

    AfD 💙 | Komentářů: 0
    včera 20:55 | Zajímavý software

    Společnost Cloudflare představila Clef a Clef-Flash, open-source rozhodovací modely určené pro rychlou a konzistentní klasifikaci vstupů. Na rozdíl od klasických LLM vracejí tyto modely deterministické striktně typované strukturované odpovědi s exaktními pravděpodobnostmi, tedy odpovědi ve stylu přelomového modelu Jev.

    … více »
    AfD 💙 | Komentářů: 1
    včera 04:44 | Nová verze

    Byla vydána beta verze Ubuntu 26.10 s kódovým názvem Stonking Stingray. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.10 mělo vyjít 15. října 2026.

    Ladislav Hagara | Komentářů: 0
    1.10. 22:22 | Nová verze

    Byla vydána verze 1.99.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 5
    1.10. 18:11 | Komunita

    Od 13. do 15. října proběhne v Praze OpenSSL Conference 2026. Na YouTube lze zhlédnout videozáznamy přednášek z loňského roku.

    Ladislav Hagara | Komentářů: 0
    1.10. 17:22 | IT novinky

    Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 2 GB varianty o 12,50 dolarů. Nově 2 GB Raspberry Pi 4 stojí 67,50 dolarů a 2 GB Raspberry Pi 5 stojí 77,50 dolarů.

    Ladislav Hagara | Komentářů: 6
    1.10. 13:00 | Nová verze

    OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 26.09. Vedle Flatpaku také s podporou Snapu.

    Ladislav Hagara | Komentářů: 0
    1.10. 04:33 | Zajímavý software

    Edison Design Group po více než 30 letech zveřejnil zdrojový kód svého EDG C/C++ front-endu. Ten proslul širokou podporou standardů C++ a kompatibilitou s dialekty kompilátorů od Microsoftu, GNU, Clangu, Sunu a dokonce i s prehistorickým cfrontem. EDG byl použit například v kompilátoru Intel C++ Classic, kompilátoru NVCC od firmy NVIDIA pro platformu CUDA nebo v našeptávači kódu IntelliSense v produktech společnosti Microsoft. Projekt nyní spravuje organizace The C++ Alliance a kód je dostupný pod licencí Apache 2.0, doplněnou o výjimky projektu LLVM.

    AfD 💙 | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2778 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: ioperm c++

    15.5.2012 07:43 ubka7617
    ioperm c++
    Přečteno: 582×

    Dobry den. mam program v cecku ktory povoluje pristup na hardware pod rootom cez ioperm,

    potom cet setgid a setuid nastavim procesu aby bezal pod non-root uzivatelom

    execvp( argv[1], &argv[1] ); cez toto pustim program

    Problem je v tom ze ked pustim program priamo ako uzivatel tak mi funguje do doby kym nemusi pristupovat na hardware pc, potom padne.

    Ked ten program pustim cez toto tak mi nedokaze logovat vypise mi permision denied aj ked bezi pod rovnakymi pravami ako ked by bol spusteni priamo ako uzivatel.

    Neviete mi niekdo poradit ?

    if ( ioperm(0x160, 1, 1)) {
    cout << "Neuspesne nastavenie prav" << endl;
    return 1;
    }

    if( ( pwd = getpwnam( "user" ) ) == NULL ) {                // citanie uid meno shell a podobne o uzivatelovi
    printf( "Chyba pri citani udajov u uzivatelovi! \n" );

    return 1;
    }

    uid = pwd->pw_uid;
    gid = pwd->pw_gid;

    setgid(gid);

    setuid(uid);

    execvp( argv[1], &argv[1] );

    Dakujem

    Odpovědi

    pavlix avatar 15.5.2012 09:11 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: ioperm c++
    ioperm() sets the port access permission bits for the calling process for num bytes starting from port address from to the value turn_on. If turn_on is nonzero, the calling process must be privileged (CAP_SYS_RAWIO).
    http://www.kernel.org/doc/man-pages/online/pages/man2/ioperm.2.html

    Možná jsem špatně pochopil tvůj popis problému, ale bohužel je příliš zmatený a vágní. Ale tady se píše, že ti to fungovat ani z definice nemůže.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    15.5.2012 09:35 ubka7617
    Rozbalit Rozbalit vše Re: ioperm c++

    tak ono to funguje ale program ktory je v execvp sa pusti s neakymi inymi pravami aj ked ps -Af ukazuje ze bei pod definovanym uzivatelom.

    15.5.2012 09:45 ubka7617
    Rozbalit Rozbalit vše Re: ioperm c++

    execvp( argv[1], &argv[1] ); cez toto pustim program - myslene dalsi program ktory komunikuje priamo s HW co bez predchydzajuceho ioperm nefunguje.

    Pustim program ktroy mam v cecku a z neho po nastaveni prav a prislusneho uid a gid spustim dalsi program ktory uz bezi dalej.

    pavlix avatar 15.5.2012 17:04 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: ioperm c++
    Vůbec nerozumím, co se tím snažíš vyjádřit.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    15.5.2012 10:01 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: ioperm c++
    Ahoj, nepotrebuje ten volany proces nejake promenne prostredi? To byva asi nejcastejsi problem pri pouziti setuid a execve. Pokud to spoustis pod rootem tak ma promene prostredi roota. Pokud ten druhy prakaz pustis z terminalu primo pod uzivatelem user pak ma jeho promene prostredi.
    Dale me napada, jestli nepotrebuje ten druhy program nejake parametry (v prikladu se nic nepredava).

    Moznost jak najit co selhalo je asi nejlepsi pres strace - ten primo ukaze syscally s navratovou hodnotou a bude vided co vratilo chybu.
    15.5.2012 13:14 ubka7617
    Rozbalit Rozbalit vše Re: ioperm c++

    ten druhy program berie paramtere z parametrov toho prveho pri spusteni argv[1], &argv[1]

    15.5.2012 16:09 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: ioperm c++
    A jo, nekam jsem jspatne precetl execvp - takze tim odpada jedna moznost.

    Založit nové vlákno • Nahoru

    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.