Canonical vydal (email) Ubuntu 26.10 Stonking Stingray. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2027.
České Radiokomunikace (CRA) ve čtvrtek odstřelily rozhlasový vysílač Liblice B, dosud nejvyšší stavbu v Česku. O demolici dvou 355 metrů vysokých stožárů rozhodly z důvodu jejich nevyužívání, už v úterý přitom zhasly a demontovaly jejich osvětlení.
Microsoft Defender nově podporuje linuxové desktopy.
Oficiální Epic Games Launcher je v nové preview verzi poprvé dostupný i pro Linux (FAQ). Pracuje se na novém Easy Anti-Cheatu pro Linux (EAC Linux v2) a podpoře hry Fortnite na Linuxu.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.8. Novinky zahrnují lepší podporu vzdálené plochy, sdílení a nahrávání obrazovky a řadu drobností napříč uživatelským rozhraním (úplný seznam změn, shrnutí ve wiki).
Apple představil 7palcový displej Apple HomeView s podporou Apple Intelligence a Siri AI pro ovládání chytré domácnosti, novou řadu vybavení chytré domácnosti Apple Home Collection, další generaci HomePodu mini a novou Apple TV 4K. Apple HomeView není v Evropské unii v prodeji, jelikož umělá inteligence Siri v rámci systému iOS v EU momentálně není k dispozici. Apple spolupracuje s EU a snaží se najít cestu, jak situaci vyřešit.
KDE slaví 30 let. Přesně před 30 lety, 14. října 1996, poslal Matthias Ettrich do diskusní skupiny comp.os.linux.misc zprávu, která započala historii projektu KDE. Důležité milníky jsou zobrazeny na časové ose.
Byl vydán Mozilla Firefox 158.0. Stejně jako Chrome 155 s podporou JPEG XL (test). Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 158 bude brzy k dispozici také na Flathubu a Snapcraftu.
Svobodný kancelářský balík ONLYOFFICE (Wikipedie) byl vydán ve verzi 10.0. Jak online Docs, tak i offline Desktop Editors. Přehled novinek také na YouTube.
Mozilla představuje Firefox Enterprise určený jako podnikový prohlížeč pro organizace s přísnými požadavky na bezpečnost, správu a dodržování předpisů. S profesionální podporou. Dostupný je zatím ve Francii, Německu, Rakousku a Švýcarsku.
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: