Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).
V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.
Ubuntu 27.04 bude Tenacious T-Rex.
Byla vydána nová verze 2026.4.0 "Never-slop" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.
Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a
… více »Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.
Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si
… více »Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do
… více »Byl vydán LineageOS 24 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 24 je založený na Androidu 17.
Společnost Valve publikovala na svém GitLabu nákresy a schémata zapojení headsetu Steam Frame. Pro nekomerční účely.
Protokol X11 je navržen tak, aby ho bylo možné používat nejen
tehdy, když X server a klientská aplikace běží na témže počítači,
ale i v případě, že běží na různých počítačích, které jsou
propojeny sítí. V takovém případě je ke komunikaci využíváno
TCP spojení. Aby mohla aplikace komunikovat s X serverem,
je třeba jí sdělit, na který X server (a případně na kterou
obrazovku) má zobrazovat. Tato informace je obvykle předávána
prostřednictvím proměnné prostředí DISPLAY, klasické
grafické programy podporují i parametr příkazové řádky
-display (nebo zkráceně -disp).
Hodnota proměnné (resp. argument) má obecně tvar
'host:display.screen'.
Nepovinný parametr host definuje počítač, kde se X server
nachází. Většinou obsahuje jméno počítače nebo IP (IPv4 nebo IPv6)
adresu. Není-li uveden, kontaktuje se X server na stejném počítači,
většinou ale ne pomocí TCP spojení přes lokální smyčku, ale přes
lokální (unix domain) socket.
Parametr display určuje číslo konkrétního X serveru
na zvoleném počítači. Na jednom počítači může totiž X serverů běžet
více, například je-li současně otevřeno více grafických konzolí. Jiným
příkladem je spuštění programu Xnest, který implementuje
X server používající jako virtuální obrazovku okno zobrazované na
jiném X serveru. Obvyklé číslování X serverů je od nuly,
nejčastěji se zde proto setkáme s hodnotou 0.
Tento parametr je také (včetně dvojtečky) jediný povinný, minimální
(a také nejčastější) specifikace obrazovky je tedy ':0'.
Z praktického hlediska parametr display při TCP komunikaci
určuje port, na nějž je navazováno spojení; jedná se o port
6000+display.
Poslední (opět nepovinný) parametr screen určuje obrazovku, na kterou má aplikace zobrazovat. Obrazovky (má-li jich X server více) se číslují opět od nuly (nula je i defaultní hodnotou). Číslo obrazovky na rozdíl od předchozích parametrů neovlivňuje navázané spojení, informace je používána interně v rámci komunikace protokolem X11. Obrazovky v tomto smyslu nemají nic společného s virtuálními pracovními plochami, které nabízí většina window managerů. Nejčastěji se s více obrazovkami setkáváme u počítačů s více monitory, kde číslo obrazovky určuje (fyzický) monitor, na který bude aplikace zobrazovat.
Praktická použitelnost aplikace běžící na vzdáleném počítači a zobrazující na lokální X server je ovlivněna parametry síťového spojení. Je-li spojení realizováno lokální sítí, nebývá to problém; u 100 Mb/s ethernetu na chování většiny aplikací není vzdálená komunikace příliš znát. U pomalejších spojení (kromě přenosové rychlosti zde hraje roli i zpoždění paketů) jsou pochopitelně odezvy delší. Hodně zde záleží i na tom, co aplikace zobrazuje. Vykreslování jednoduchých objektů nebo vypisování textů není příliš náročné, ale např. při prohlížení fotografií je třeba přenášet celé bitmapy, což může být poměrně náročné. Nezanedbatelnou výhodou je i skutečnost, že tímto způsobem můžeme používat grafické aplikace i na počítači, kde není vůbec nainstalován X server, např. na výkonném aplikačním serveru, ke kterému přistupují uživatelé ze svých pracovních stanic. Nelze zapomínat ani na to, že protokol je univerzální: není tedy omezen na prostředí Linuxu, ale lze jej používat i mezi různými platformami.
Možnost zobrazování na X prostřednictvím TCP/IP sítí (a tedy
i Internetu) je velmi užitečným nástrojem, jedná se ale
o dvousečnou zbraň. Pokud bychom neaplikovali mechanismus, který
by omezil potenciální klienty, mohl by kdokoli používat náš X server,
a to nejen k zobrazování, ale i k získávání událostí od
vstupních zařízení; mohl by tedy mimo jiné např. sledovat, co píšeme na
klávesnici. Nepotřebujeme-li vůbec přistupovat na X server vzdáleně,
může být vhodnější použít při jeho spouštění parametr
'-nolisten tcp', který způsobí, že X server nebude
vůbec poslouchat na TCP portu 6000+display a umožní pouze
komunikaci lokálních klientů přes lokální socket. Některé novější
distribuce naopak spouštějí X server s tímto parametrem
defaultně, takže naopak chceme-li komunikovat vzdáleně, je potřeba to
explicitně povolit. V dalších částech se ale zaměříme na situaci,
kdy vzdáleně komunikovat chceme, ale potřebujeme klienty autorizovat.
Nejjednodušší formou autorizace je rozlišení klientů podle IP adresy.
Display manager udržuje seznam adres (standardně prázdný), z nichž
je povolen přístup všem klientům bez dalších omezení. K manipulaci
s tímto seznamem lze použít příkaz xhost, bez parametrů
vypíše seznam povolených adres (standardně přeložených na DNS jména).
Přidání položky do seznamu lze provést příkazem
'xhost +host' (znak + lze
vynechat), odebrání příkazem 'xhost -host'.
Jak už to bývá, je tato varianta sice nejjednodušší, ale také nejméně vhodná. Jednak povolením adresy konkrétního počítače povolujeme přístup automaticky všem jeho uživatelům, jednak při podvržení IP adresy server nepozná, že se nejedná o oprávněného klienta. Pomineme-li tedy specifické případy typu lokální sítě o dvou počítačích a jednom uživateli. nelze tuto metodu v dnešní době pro praxi doporučit.
Při spuštění seance (session) display manager generuje náhodný klíč
(cookie), který je s touto seancí svázán. Klient, který se prokáže
znalostí této cookie, má povolen přístup k X serveru, aniž
by jeho IP adresa musela být v seznamu z předchozí sekce.
Cookie je spolu s informací o serveru (zapisuje se ve stejném
formátu jako hodnota proměnné DISPLAY s vynecháním
čísla obrazovky) uložena do autentizační databáze, která je standardně
v souboru .Xauthority v domácím adresáři
přihlášeného uživatele. Z tohoto souboru si pak cookies berou
jednotlivé grafické aplikace a používají je pro autentizaci vůči serveru.
S obsahem autentizační databáze lze pracovat příkazem
xauth, a to buď interaktivně (spustíme-li ho bez
parametrů) nebo neinteraktivně (předáme-li mu příkaz přímo jako
argument). Základní příkazy jsou:
list … zobrazení cookies z databázeextract file server … zkopírování
cookie pro server server do souboru filemerge file … přidání cookie ze souboru
do databáze
Jako jméno souboru lze uvést i znak '-', cookie se pak
extrahuje na standardní výstup a načítá se ze standardního vstupu. Pokud
v takovém případě nepřesměrováváme výstup nebo nepoužijeme rouru,
je vhodnější použít příkazy nextract a nmerge,
používající formát složený pouze z číslic, který lze zobrazovat na
terminál a kopírovat pomocí selection nebo copy&paste.
Přihlásíme-li se tedy na vzdálený počítač např. pomocí SSH a chceme-li
na něm spouštět grafické aplikace tak, aby zobrazování probíhalo na náš
lokální X server, je třeba nastavit odpovídajícím způsobem proměnnou
DISPLAY tamnímu shellu (nesmíme ale zapomínat, že shell
a posléze i grafická aplikace poběží na vzdáleném počítači, nelze
tedy psát localhost nebo jméno počítače vynechat). Dále ale
také musíme zkopírovat autentizační cookie z lokální databáze do
vzdálené. To lze provést buď extrakcí do souboru, jeho překopírováním
a importem cookie do databáze, nebo extrakcí na terminál a překopírováním
do druhého okna, kde jsme přihlášeni na vzdáleném stroji a předem jsme
použili 'xauth nmerge -'.
Zásadní nevýhodou předchozích postupů je skutečnost, že řeší pouze otázku autentizace a autorizace (a ani to ne zcela spolehlivě), ale žádným způsobem nechrání data, která si mezi sebou vyměňují X server a klientská aplikace, a to proti odposlechu ani proti podvržení. Pokud tedy komunikace mezi oběma počítači není zabezpečena např. pomocí IPsec, není takové řešení příliš vhodné, a to zejména, komunikují-li mezi sebou přes Internet. Protože X11 komunikace používá jedno TCP spojení, je ideálním kandidátem na zabezpečení pomocí SSL (např. programem stunnel). Protože se ale dnes na vzdálený počítač, kde aplikaci spouštíme, většinou připojujeme pomocí SSH, je jednodušší využít možnosti transparentního tunelování X11 přes jeho zabezpečený přenosový kanál.
K pochopení toho, jak funguje tunel, je třeba mít na paměti, že
X server je na straně, kde je SSH klient, a naopak. Tunelování
není třeba nijak složitě nastavovat, pouze je nutné, aby tato funkce
byla povolena v konfiguraci klienta (ssh) i serveru
(sshd) a aby byl klient spouštěn s parametrem
-X a měl nastavenou proměnnou DISPLAY na
lokální X server. Je-li tomu tak, SSH démon vytvoří virtuální
X server (standardně s číslem od 10 výše, aby nedocházelo
ke kolizi s případnými lokálními X servery na jeho straně.
Na tento X server (tj. typicky na hodnotu ':10')
pak také nastaví shellu (nebo jinému spouštěnému programu) proměnnou
DISPLAY.
Spuštěná grafická aplikace tedy veškeré požadavky posílá na virtuální X server, ten je ale pouze přeposílá (zabezpečeným spojením) SSH klientovi, který je dále předá lokálnímu X serveru na straně uživatele. Podobně, pouze v opačném směru, jsou posílány odpovědi X serveru aplikaci. Aplikace samozřejmě nemusí běžet na stejném počítači jako SSH démon, podobně SSH klient nemusí běžet na stejném počítači jako X server. Pak je ale zabezpečený jen úsek mezi SSH démonem a SSH klientem, to ale může být dostatečné, např. jsou-li koncové úseky realizovány relativně bezpečnou lokální sítí, zatímco tunelovaný úsek vede přes Internet.
Kromě obvyklých bezpečnostních opatření při používání SSH (zejména
kontrola pravosti veřejného klíče serveru při prvním přihlášení) nesmíme
zapomínat, že tunel chrání jen před útoky "po cestě".
Není tedy ochranou před lokálním útokem na koncových počítačích. Zejména
pokud bychom nemohli důvěřovat uživateli root na vzdáleném
počítači, zpřístupňujeme mu otevřeným tunelem svůj lokální X server
(po dobu, kdy je tunel navázán). Nesmíme také zapomínat, že při větších
datových tocích šifrování a autentizace dat zatěžuje procesor obou stran.
Naopak, u pomalých spojení lze zapnutím komprese (přepínač
-C) přenos urychlit snížením objemu přenášených dat.
Problematika lokální komunikace do této kapitoly zdánlivě nepatří, ale
vše, co bylo řečeno v předchozích sekcích, se vztahuje i na
aplikace běžící na témže počítači jako X server. Procesy uživatele,
který se přihlásil do grafického prostředí, mají samozřejmě přístup
k vygenerované cookie, takže jim je přístup umožněn. Pokud ale
použijeme příkaz su, nebudou mít procesy spouštěné pod
cílovým uživatelem k X serveru povolen přístup.
Povolení přístupu pomocí 'xhost localhost' není vhodným
řešením, protože tím bychom povolili přístup všem lokálním
uživatelům a procesům. Řešení pomocí SSH je zase zbytečně náročné,
protože šifrování a autentizace jsou při lokální komunikaci zcela
zbytečné a pouze by zatěžovaly procesor. Nejvhodnějším řešením je tedy
zkopírování autentizační cookie do databáze cílového uživatele. Lze
to provést stejným způsobem jako při vzdálené komunikaci, kopírování
je zde ale o něco jednodušší. Je-li cílovým uživatelem
root, lze navíc využít toho, že má povoleno čtení jakéhokoli
souboru ve filesystému a nechat ho extrahovat cookie přímo
z databáze přihlášeného uživatele:
xauth -f ~user/.Xauthority extract - :0 | xauth merge -(
user reprezentuje jméno přihlášeného uživatele).
Jednodušší alternativou je použití příkazu sux, který
funguje podobně jako su, ale navíc automaticky kopíruje
autentizační cookie od původního uživatele k novému. Také lze použít
autentizační modul pam_xauth, který způsobí automatické
předání autentizační cookie při použití příkazu su.
Stačí přidat do souboru /etc/pam.d/su řádek
session optional pam_xauth.soPomocí konfiguračních souborů
~/.xauth/export
a ~/.xauth/import lze pak definovat, kterým uživatelům
se mají autentizační cookies předávat (neexistuje-li soubor
export, pak normální uživatel předává všem,
root nikomu) resp. od koho se mají přijímat (neexistuje-li
soubor import, přijímá se od všech).
Protože window manager je z pohledu X serveru klientská aplikace
jako každá jiná, může samozřejmě i on běžet na jiném počítači než
X server. Můžeme pochopitelně spouštět i window manager se
zobrazováním na jiný X server pomocí proměnné DISPLAY
nebo parametru -display, např.:
Xnest -geometry 1024x768 :1 & fvwm -display :1 &V praxi je ale vhodnější ponechat proces přihlášení, otevření seance a případnou volbu window manageru (a další konfigurace) na display manageru (
xdm, kdm, gdm, wdm)
počítače, ke kterému se přihlašujeme. Počítač, u něhož uživatel sedí,
je pak vlastně degradován do role klasického X terminálu, na němž
se zobrazí přihlašovací obrazovka vzdáleného počítače. Komunikace mezi
X serverem a vzdáleným display managerem je realizována protokolem
XDMCP (X Display Manager Control Protocol), standardně je pro něj používán
UDP port 177.
Chceme-li se takto přihlásit ke vzdálenému počítači, je třeba při spouštění
X serveru tento počítač specifikovat parametrem -query
(argumentem je jméno nebo IP adresa):
X -query 192.168.2.65Místo lokálního přihlašovacího okna se objeví přihlašovací okno nebo obrazovka vzdáleného display manageru. Po přihlášení je spuštěn (na vzdáleném počítači) odpovídající window manager podle tamní konfigurace.
Chceme-li, aby náš počítač fungoval jako terminál pro více vzdálených stanic, můžeme spustit display manager (konkrétní nastavení závisí na volbě display manageru) v režimu, kdy je uživateli místo lokálního přihlašovacího dialogu nejprve zobrazen seznam počítačů, na které se může přihlásit, a teprve poté, co si ze seznamu vybere cílovou stanici, je zobrazen její přihlašovací dialog (obrazovka). Seznam může být buď definován staticky v konfiguraci lokálního display manageru nebo může být vytvářen dynamicky. Ve druhém případě display manager rozešle broadcast datagram s dotazem, kdo je ochoten povolit přihlášení, a zobrazí se seznam stanic, které odpověděly. Tento seznam se pak obvykle periodicky aktualizuje. Je možná i kombinace staticky konfigurovaného a dynamicky generovaného seznamu.
XDMCP protokol neobsahuje prakticky žádné bezpečnostní prvky a vzhledem k použití UDP není ani jeho dodatečné zabezpečení příliš snadné. Jeho použitelnost je proto omezena prakticky jen na důvěryhodné lokální sítě, kde se používá pro klasické X terminály a tenké klienty. Samozřejmě i použití XDMCP podléhá konfiguraci autorizačních pravidel, ale jejich výklad by byl nad rámec tohoto letmého seznámení. Bližší informace lze získat např. z těchto zdrojů:
Dokument vytvořil: vladka, 29.8.2005 12:09 | Poslední úprava: Nicky726, 11.3.2009 23:55 | Další přispěvatelé: Michal Kubeček, Milan Horák | Historie změn | Zobrazeno: 12710×
Tiskni
Sdílej: