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í.
Společnost OpenAI oznámila [𝕏], že ukončí aplikaci Sora pro generování krátkých videí pomocí umělé inteligence. Podrobné informace a harmonogram pro aplikaci a API budou brzy zveřejněny.
Evropská směrnice NIS2 přináší nové požadavky v oblasti kybernetické bezpečnosti, které se promítají také do správy doménových jmen. Do českého právního řádu je směrnice implementována prostřednictvím nového zákona o kybernetické bezpečnosti. Jedním z praktických důsledků této legislativní změny je posílení požadavků na dostupnost a správnost kontaktních údajů držitelů domén. Správce registru domény .cz, sdružení CZ.NIC, je v
… více »Jonathan Thomas oznámil vydání nové verze 3.5.0 video editoru OpenShot (Wikipedie). Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.
Byla vydána (𝕏, Bluesky) nová verze 2026.1 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 8 nových nástrojů v oficiálním oznámení na blogu.
"cat /etc/passwd | grep ^[^:]*:[^:]*:[^:]*|cut -f 1 -d ":""je nesmysl, to se expanduje na ten řetězec v uvozovkách, měls asi na mysli $(...) nebo `...`, i tak by to moc nefungovalo. No nic, nejlepší co jsem vymyslel je
if cut -d: -f1 | grep -F -x -q "$1"; then echo "OK" else echo "neexistuje" finajdi si v man grep co ty optiony znamenají (btw asi nebudou přenositelné) Aby to bylo skutečně korektní, tak by to chtělo C prográmek, co zavolá
getpwnam(argv[1]).
#!/usr/bin/env python
import pwd
user = 'all'
if (cmp(user,'all')):
try:
print pwd.getpwnam(user)
except KeyError:
print "Tento uzivatel neexistuje"
else:
print "Tohle se tyka vsech uzivatelu"
Odteďka chci mít všude login "all"
if egrep -q "^${1}:" /etc/passwd || [ "x$1" = xall ]; then
echo OK
else
echo chyba
fi
).
x=`echo "$1" | LC_CTYPE=C tr -cd '[a-zA-Z0-9_]'`
if [ "x$1" != "x$x" ];
echo "Nech toho, darebáku, sic ti hnáty zpřerážím!" # :-)
exit 1
fi
Na druhou stranu, kdyby si s tím člověk trochu pohrál, mohl by v tom být i určitý záměr: mohl by se zadávat regulární výraz a hledaly by se procesy kteréhokoli uživatele, který mu vyhovuje (nebo co to měl ten skript dělat)… :-)
BTW, nevíte kde má původ ten zápis
test "x$param" = "xvalue"
^ ^
? Používá to i Autoconf, takže asi existoval systém, kde nefungoval test s prázdným parametrem, ale netuším jaký (PDP-11 ve škole nemáme
).
test. Nějak se mi ale nedaří vyrobit nějaký dostatečně úderný příklad ('test -e = -f' i 'test -e = -e' mi kupodivu fungují správně s interním i externím testem).
$ uname -srv IRIX64 6.5 04091957 $ /usr/bin/test -n = blabla; echo $? 0Takže smysl to asi má pořád.
x=`echo "$1" | LC_CTYPE=C tr -cd '[a-zA-Z0-9_]'`
if [ "x$1" != "x$x" ];
echo "Nech toho, darebáku, sic ti hnáty zpřerážím!" # :-)
exit 1
fi
To se nám to krásně zjednodušilo. Až na ten fork, fork, exec a přitom je to úplně zbytečné.
case "$1" in
*[^a-zA-Z0-9_]*)
echo "Nech toho, darebáku, sic ti hnáty zpřerážím!" #
exit 1;;
esac To je ekvivalent uvedeného, ale víc jak 20x rychlejší. Nechce hledat přesné omezení na username abych to napsal přesněji.
[[ "$1" == *[^a-zA-Z0-9_]* ]] && {
echo "Nech toho, darebáku, sic ti hnáty zpřerážím!" #
exit 1
}
if ! id "$1" >&/dev/null && [ "x$1" != xall ]
then
echo "Zadali jste uzivatele, ktery neexistuje, tudiz nespustil zadne procesy"
exit 1
fi
P.S.: Ano, opravdu tam má být && a ne || protože chyba nastane, když uživatel není a zároveň není zadáno all.
já věděl, že něco takového musí existovat, ale odradil mě finger
$ finger chroustal; echo $? finger: chroustal: no such user. 0
~$1, ale když jsem zjistil, že pořadí expanzí je opačné, než bych potřeboval, opustil jsem tuto cestu a vrhnul se na parsování /etc/passwd. Na druhou stranu, v praxi bych to asi stejně radši napsal v céčku…
Tiskni
Sdílej: