Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.
Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.
Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.
Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.
Porota v Los Angeles shledala firmy Google a Meta odpovědnými v přelomovém soudním sporu, který se týká závislosti na sociálních sítích; firmy musí zaplatit odškodné tři miliony dolarů (63,4 milionu Kč). Společnosti, které s verdiktem nesouhlasí, čelily obvinění, že své sociální sítě a platformy záměrně navrhly tak, aby si na nich děti vypěstovaly závislost. Porota došla k závěru, že technologické společnosti při navrhování a
… více »Jelikož vývojáři editorů Vim a Neovim začali při vývoji využívat LLM, Drew DeVault se rozhodl forknout Vim a vytvořil projekt Vim Classic. Vychází z Vimu 8.2.0148, tj. těsně před zavedením Vim9 skriptování.
Byla vydána nová verze 0.56 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, byl vydán ve verzi 1.1 (YouTube). Po roce a čtyřech měsících od předchozí verze 1.0. Přehled novinek i s náhledy v poznámkách k vydání.
useradd -u 555 -g ulohy -M -d /tmp/ -s /sbin/nologin uloznik passwd -d ulozniktest.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 groupsjenž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 testCo dělám špatně? Potřebuju, aby nový soubor (když už něco zkompiluji) měl práva jako "uloznik".
LABEL=/ / ext3 defaults 1 1
euid=geteuid(); setreuid(euid,euid);Takhle mi to funguje...
$ 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?
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...
Tiskni
Sdílej: