O víkendu probíhá konference OpenAlt 2025 (Stream). Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.
Josef Průša představil novou velkoformátovou uzavřenou CoreXY 3D tiskárnu Prusa CORE One L a nový open source standard chytrých cívek OpenPrintTag i s novou přepracovanou špulkou.
Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).
Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).
Byla vydána verze 1.91.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.
Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.
Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.
Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
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
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.
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.
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.
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.strace - ten primo ukaze syscally s navratovou hodnotou a bude vided co vratilo chybu.
Tiskni
Sdílej: