U příležitosti 30. výročí vydání počítačové hry Quake byla vydána nová epizoda s názvem Dawn of the Machine (Steam).
Vládní CERT upozorňuje (𝕏) na sérii bezpečnostních záplat (CVSS 9.9) v produktech Cisco řešících kritické zranitelnosti umožňující obejití autentizace, eskalaci oprávnění, vzdálené spuštění kódu a odepření služby. Úspěšné zneužití může útočníkům umožnit získat neoprávněný přístup k dotčeným systémům, kompromitovat zařízení Cisco Catalyst SD-WAN a Cisco IOS XE, spustit libovolný kód, zpřístupnit citlivé informace nebo narušit dostupnost postižených systémů.
Soud v americkém státě Nové Mexiko ve čtvrtek nařídil internetové společnosti Meta Platforms zaplatit 567 milionů dolarů (téměř 12 miliard Kč) za újmy, které její platformy působí mladým lidem. S přihlédnutím k dřívějšímu verdiktu tak má společnost celkem zaplatit 942 milionů dolarů, což je malý zlomek jejího ročního výnosu, který loni činil 60 miliard dolarů. Čtvrteční verdikt firmě také nařizuje, aby změnila způsob, jakým její
… více »Mark Russinovich (CTO v Microsoft Azure) se na LinkedIn pochlubil svým projektem MS Paint Doom napsaným pomocí Claude. Hru Doom umožňuje hrát v programu Malování (Microsoft Paint). Malování funguje jako monitor. Herní engine (ViZDoom) běží na pozadí a každý vykreslený snímek hry vkládá automaticky přes schránku (clipboard) do Malování.
Platformy ChatGPT i Roblox by mohly být zařazeny na seznam mimořádně velkých on-line platforem nebo internetových vyhledávačů, na něž se vztahují zvláštní podmínky podle nařízení o digitálních službách (DSA). Vzhledem k tomu, že ChatGPT i Roblox oznámily počet uživatelů nad prahovou hodnotou DSA, je toto označení „rozhodně možné“ a mohlo by „přijít dříve či později“. On-line platformy a vyhledávače zařazené na seznamy DSA musejí
… více »Společnost Cloudflare představila Cloudflare OS (GitHub), tj. open source platformu navrženou pro integraci umělé inteligence (agentů) přímo do pracovních procesů organizací.
Byla vydána nová verze 5.13 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Vedle zdrojových kódů je k dispozici také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Jean-Baptiste Kempf na svém blogu představil novou verzi 9.0 "Lei" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie).
Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.
Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.
Řešení dotazu:
r (read), w (write) a x (eXecute). Na souborech znamená právo r právo číst obsah souboru, právo w právo soubor editovat, a právo x právo soubor spustit (jako spustitelnou binárku – nevztahuje se to na skripty, tam spouštíte binárku interpretu a ta pouze čte soubor se skriptem). Na adresáři znamená právo r právo vypsat seznam souborů v adresáři, právo w znamená možnost vytvářet, přejmenovávat a mazat soubory v adresáři, právo x znamená právo vstoupit do adresáře (udělat do něj cd) – bez toho práva se nedostanete ani do podadresářů (když uděláte cd /a/b/c a nemáte právo x na /a, dovnitř se nedostanete, interně se to provádí jako tři postupné skoky vždy o jeden adresář.)
Pozor na to, že i běžný uživatel potřebuje oprávnění číst na spoustu souborů v /etc, na druhou stranu v běžných distribucích jsou výchozí práva nastavena rozumně, takže běžný uživatel nebude mít práva zapisovat třeba nikam do /etc.
Omezovat přístup až na úrovni konkrétních programů, jak tady píšou ostatní, je spíš taková obezlička, vždycky v tom programu může být nějaká chyba nebo si neuvědomíte nějakou interakci a uživatel vám z toho omezení uteče. To, co jsem popsal já, jsou oprávnění přímo na úrovni operačního systému, ty žádný program neobejde, i kdyby se na hlavu stavěl.
a právo x právo soubor spustit (jako spustitelnou binárku – nevztahuje se to na skripty, tam spouštíte binárku interpretu a ta pouze čte soubor se skriptem).
No ale to myslíš snad jen skripty, které spouštíš např. perl skript.pl, ale když máš skript script na jehož začátku mám #!/usr/bin/perl a potom pokračuje kód v perlu, tak mu musíš přiřadit x jinak ti shell oznámí, že ho nespustí. (a tomuto říkáme také skript). Tedy alespoň u mne. To co napsal mne překvapilo a tak jsem zkusil skriptům odebrat x.
~$ cat kecas.sh #!/bin/sh echo Kecas ~$ ls -l kecas.sh -rw-rw-r-- 1 user user 21 led 28 13:01 kecas.sh ~$ bash kecas.sh Kecas
./kecas.shTo, že ručně spustíš interpret je o něčem jiném. Navíc v tomto případě spouštíš jiný interpret, než jaký je uveden ve skriptu.
x skriptu nezabráníte jeho spuštění. Interpretaci #! na začátku skriptu dělá shell, takže si klidně můžete napsat shell, který vám ./script.pl spustí, i když nebude mít právo x. Na druhou stranu když máte nějaký binární program bez práva x, ale s právem r, taky vám nic nebrání udělat si jeho kopii a té právo x nastavit a program spustit. Takže ve výsledku je to vlastně stejné.
Interpretaci #! na začátku skriptu dělá shell, [...]Ne. Tu interpretaci dělá jádro.
fork() a pak nový proces zalidní execve("./test.csh"...). Do teď jsem byl přesvědčen, že systémová volání nejsou zpracovávána shellem. Takže si nejsem jistý ani správností ani obecností tvrzení, že to dělá shell.
man bash
COMMAND EXECUTION If the command name contains no slashes, the shell attempts to locate it. […] If the name is neither a shell function nor a builtin, and contains no slashes, bash searches each element of the PATH for a directory containing an executable file by that name. […] If the search is successful, or if the command name contains one or more slashes, the shell executes the named program in a separate execution environment. Argument 0 is set to the name given, and the remaining arguments to the command are set to the arguments given, if any. If this execution fails because the file is not in executable format, and the file is not a directory, it is assumed to be a shell script, a file containing shell commands. A subshell is spawned to execute it. This subshell reinitializes itself, so that the effect is as if a new shell had been invoked to handle the script, with the exception that the locations of commands remembered by the parent (see hash below under SHELL BUILTIN COMMANDS) are retained by the child. If the program is a file beginning with #!, the remainder of the first line specifies an interpreter for the program. The shell executes the specified interpreter on operating systems that do not handle this executable format themselves. The arguments to the interpreter consist of a single optional argument following the interpreter name on the first line of the program, followed by the name of the program, followed by the command arguments, if any.
man zshmisc
COMMAND EXECUTION If a command name contains no slashes, the shell attempts to locate it. […] Otherwise, the shell searches each element of $path for a directory containing an executable file by that name. If the search is unsuccessful, the shell prints an error message and returns a nonzero exit status. If execution fails because the file is not in executable format, and the file is not a directory, it is assumed to be a shell script. /bin/sh is spawned to execute it. If the program is a file beginning with `#!', the remainder of the first line specifies an interpreter for the program. The shell will execute the specified interpreter on operating systems that do not handle this executable format in the kernel.(Až k té části „pokud to nedělá kernel“ jsem poprvé nedočetl, proto jsem byl přesvědčen, že to dělá jenom shell.)
login a bůhví, jak by to pak fungovalo.
Tiskni
Sdílej: