Brush (Bo(u)rn(e) RUsty SHell) je v Rustu napsaný shell kompatibilní s Bash (Bourne Again SHell). Vydána byla verze 0.4.0.
Google zveřejnil seznam 1 141 projektů (vývojářů) od 184 organizací přijatých do letošního, již dvaadvacátého, Google Summer of Code. Přihlášeno bylo celkově 23 371 projektů od 15 245 vývojářů ze 131 zemí.
Na čem pracovali vývojáři GNOME a KDE Plasma minulý týden? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Open source počítačová hra na hrdiny NetHack (Wikipedie, GitHub) byla vydána v nové verzi 5.0.0. První verze této hry byla vydána v roce 1987.
Evropská komise naléhavě vyzvala členské státy EU, aby kvůli ochraně nezletilých na internetu urychlily zavádění unijní aplikace pro ověřování věku a zajistily její dostupnost do konce roku. Členské státy mohou zavést aplikaci EU pro ověřování věku jako samostatnou aplikaci nebo ji integrovat do takzvané evropské peněženky digitální identity.
Richard Biener oznámil vydání verze 16.1 (16.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 16. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 12.0. Přehled novinek v příspěvku na blogu.
Před 30 lety, tj. v úterý 30. dubna 1996, byl spuštěn Seznam.cz.
Byly zpracovány a zveřejněny všechny videozáznamy, které stojí za zveřejnění, z konference FOSDEM 2026.
Od úterý 28. dubna musí nově uváděné notebooky v Evropské unii podporovat nabíjení přes USB-C. Jednotná nabíječka byla schválena Evropským parlamentem v říjnu 2022.
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: