Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.
Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.
3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.
Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
chroot
u můžete posoudit třeba s takovýmto programem:
#include <stdio.h> #include <unistd.h> #include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <dirent.h> #include <string.h> #define CHROOT_TEMP "chroot_temp" int ls(char *dirname) { DIR *dir = opendir(dirname); struct dirent *dirent; char tmp[4096]; struct stat st; if (dir == NULL) return -1; printf("Výpis adresáře '%s'\n", dirname); while ((dirent = readdir(dir))) { strcpy(tmp, dirname); strcat(tmp, "/"); strcat(tmp, dirent->d_name); lstat(tmp, &st); if (S_ISDIR(st.st_mode)) printf("d"); else if (S_ISLNK(st.st_mode)) printf("l"); else if (S_ISBLK(st.st_mode)) printf("b"); else if (S_ISCHR(st.st_mode)) printf("c"); else if (S_ISFIFO(st.st_mode)) printf("p"); else if (S_ISSOCK(st.st_mode)) printf("s"); else if (S_ISREG(st.st_mode)) printf("-"); else printf("?"); if (st.st_mode & 00400) printf("r"); else printf("-"); if (st.st_mode & 00200) printf("w"); else printf("-"); if (st.st_mode & 04000) if (st.st_mode & 00100) printf("s"); else printf("S"); else if (st.st_mode & 00100) printf("x"); else printf("-"); if (st.st_mode & 00040) printf("r"); else printf("-"); if (st.st_mode & 00020) printf("w"); else printf("-"); if (st.st_mode & 02000) if (st.st_mode & 00010) printf("s"); else printf("S"); else if (st.st_mode & 00010) printf("x"); else printf("-"); if (st.st_mode & 00004) printf("r"); else printf("-"); if (st.st_mode & 00002) printf("w"); else printf("-"); if (st.st_mode & 01000) if (st.st_mode & 00001) printf("t"); else printf("T"); else if (st.st_mode & 00001) printf("x"); else printf("-"); printf(" %2u %6u %6u %10lu %s", st.st_nlink, st.st_uid, st.st_gid, st.st_size, dirent->d_name); if (S_ISLNK(st.st_mode)) { tmp[readlink(tmp, tmp, sizeof(tmp))] = 0; printf(" -> %s", tmp); } printf("\n"); } return 0; } int main() { int d; int i; struct stat fi; char buf[1024]; printf("Aktuální adresář: %s\n", getcwd(buf, sizeof(buf))); ls("."); if (stat("chroot_temp", &fi) < 0) mkdir("chroot_temp", 0700); /* uděláme si podadresář */ else if ((fi.st_mode & S_IFDIR) == 0) { printf("Dočasný adresář '" CHROOT_TEMP "' nelze vytvořit.\n"); return 1; } d = open(".", O_RDONLY); /* vytvoříme si návratový bod */ chroot("chroot_temp"); /* zanoříme se do podadresáře */ fchdir(d); /* vyskočíme zpět a chroot pokazíme */ for (i = 0; i < 10000; i++) /* utečeme */ chdir(".."); chroot("."); /* a potvrdíme to */ printf("Aktuální adresář: %s\n", getcwd(buf, sizeof(buf))); ls("."); return 0; }Prográmek se přeloží a vyzkouší takto:
gcc -static -o chroot_test chroot_test.c chroot `pwd` /chroot_testFungovat to však bude jen se správcovskými právy - to je koneckonců napsáno i v manuálové stránce:
man 2 chroot
.
O této problematice najdete více tady a ještě tady.
If the user is root or the program is setuid root, special care must be taken. The setuid function checks the effec- tive uid of the caller and if it is the superuser, all process related user ID's are set to uid. After this has occurred, it is impossible for the program to regain root privileges.
book:/# chroot /tmp/ /chroot_test Aktuální adresár: / Výpis adresáre '.' drwxr-xr-x 3 0 0 42 . drwxr-xr-x 3 0 0 42 .. -rwxr-xr-x 1 1000 100 502147 chroot_test drwx------ 2 0 0 6 chroot_temp Aktuální adresár: / Výpis adresáre '.' drwx------ 2 0 0 6 . drwx------ 2 0 0 6 ..
Tiskni
Sdílej: