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

    Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.

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

    Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.

    Ladislav Hagara | Komentářů: 4
    dnes 04:44 | Nová verze

    OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána v nové major verzi 5.

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

    Byla vydána nová verze 9.7 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    5.6. 18:22 | Komunita

    Vývojáři webového prohlížeče Ladybird dnes oznámili, že mění způsob vývoje. S blížícím se vydáním alfa verze přestávají přijímat veřejné pull requesty. Všechny otevřené veřejné pull requesty budou uzavřeny. Tým nedokáže garantovat bezpečnost AI generovaných pull requestů.

    Ladislav Hagara | Komentářů: 2
    5.6. 17:33 | Zajímavý software

    OpenLogi (GitHub) je open source náhrada aplikace Logi Options+ pro přizpůsobení myší od společnosti Logitech. Zatím běží pouze na macOS.

    Ladislav Hagara | Komentářů: 1
    5.6. 04:33 | Nová verze

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).

    Ladislav Hagara | Komentářů: 9
    4.6. 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 23
    4.6. 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    4.6. 04:33 | Nová verze

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 9
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1851 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: ioperm c++

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

    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á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.