Uroš Popović v krátkém článku vysvětluje, co jsou emulátor terminálu, TTY a shell a jaké jsou mezi nimi rozdíly. Jde o první díl seriálu na jeho novém webu Linux Field Guide věnovaném nízkoúrovňové práci s linuxovými systémy.
Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.
Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].
Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.
Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.
Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.
Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.
Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.
Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.
local, nebo toto použít při jejich přiřazení.
echo. Některé bere "-e" jako argument, jiné ne. Nemůžete tedy spolehlivě vypsat "-e". -- to neinterpretuje jako konec argumentů. Zbývá tedy použít print, echo je prostě nebezpečné. Můžou za to v podstatě GNU rozšíření přidávající různé argumenty. Pak taky demence, která uřezává znaky nových řádků z výstupu programu do proměnné. Musíte pak v podstatě řešit hacky typu použití print pro vypsání náhodného znaku za příkazem, a ten pak odříznout. Další programy přidávají newline úmyslně. takže musíte odříznout ten znak a jeden newline. Bash ale sám odřízne všechny newline znaky, co jsou nakonci.
#!/bin/sh
for FILENAME_BASE64 in $(find . -type d -exec base64_fn.sh {} \;)
do
FILENAME=$(printf '%s' "${FILENAME_BASE64}" | base64 -d; printf x)
FILENAME="${FILENAME%?}"
printf '%s\n' "${FILENAME}"
done
base64_fn.sh:
#!/bin/sh
printf '%s' "${1}" | base64
echo -e "$(echo -ne "ABCDEFGH" | hexdump -ve '1/1 " x%02x"' | tr ' ' '\\')"Oba potřebné program busybox má. Navíc odpadá program na zpětný převod, (ba)sh ji udělá sám.
echo -e? V busyboxu funguje, ale v dashi:
$ echo -e "\x41\x42\x43\x44\x45\x46\x47\x48\x0a" -e \x41\x42\x43\x44\x45\x46\x47\x48\x0a
x%03o pro oktal čísla. Sežere to pak
$ printf '%s' "ABCDEFGH" | hexdump -ve '1/1 " %03o"' | tr ' ' '\\' \101\102\103\104\105\106\107\110 $ printf '%b' "\101\102\103\104\105\106\107\110" ABCDEFGH
dashi:
jardik@Jardik-PC:~/Downloads$ dash $ printf "\x41\x42\x43\x44\x45\x46\x47\x48\x0a" \x41\x42\x43\x44\x45\x46\x47\x48\x0a $ type printf printf is a shell builtin $
00 0A.
# Handle symlinks
PROGRAM="$0"
while [ -L "$PROGRAM" ]; do
PROGRAM=`readlink -f "$PROGRAM"`
printf 'symlink to: %s\n' "\"${PROGRAM}\""
done
printf 'cd to: %s\n' \""`dirname \"$PROGRAM\"`"\"
cd "`dirname \"$PROGRAM\"`"
Autor se snažil být chytrý a počítal se symlinkama. Snaží se dostat adresář, kde se nachází spouštěný skript. A nepochodil. Můj se nachází v /home/jardik/Apps/FreeRapid-0.9u4<newline>, a on se snaží cd do /home/jardik/Apps/FreeRapid-0.9u4, který neexistuje.
znak nového řádku v názvu souboru může použít jen nějaký šťouraNo právě - když hrozí, že zpracováváš soubory od náhodných útočníků ze sítě…
Hodně programátorů zapomíná používat uvozovky a pak se jim skripty rozbíjejí při prvním výskytu mezery v názvu souboru (ahoj autotools!). Když né mezery, tak se to zas rozbije, pokud je v názvu souboru znak nového řádkuOno napsat v bashi skript který přežije newlines v názvech souborů je dost komplikované.
Třeba echo. Některé bere "-e" jako argument, jiné ne.-n je ještě lepší, to neprojde snad nikde.
Tak kde to teda nefunguje?Vždyť sis sám odpověděl přesně tím co jsem napsal - všude.
Tiskni
Sdílej: