Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
V minulém díle jsme navázali spojení mezi Serverem a Stanicí. Dnes instalaci dokončíme a proměníme Stanici v grafický terminál. Tato část je poněkud namáhavá na čas, protože "vyladění" provozu vyžaduje jistou trpělivost při zkoušení mnoha nastavení. Ale je možné, že vám se to povede rychleji než mně.
Kromě toho, že budete na Stanici pracovat v grafickém prostředí, můžete
pochopitelně využívat i další konzole systému. Tam oceníte Midnight
Commander a, pokud máte na Stanici zvukovou kartu, můžete také poslouchat
hudbu v mp3 (program mpg123). Máte tedy možnost přimountovat si adresáře s
hudbou do adresářové struktury Stanice. (O zvuku vizte níže.) Pro případ,
že se potřebujete z konzole dostat do adresářové struktury na Serveru,
oceníte program ssh (a pochopitelně server sshd běžící na obou počítačích).
Je nevhodné spouštět na serveru služby telnet nebo ftp, protože tím
nabízíte obsah harddisku celému světu. Zde je na místě alespoň krátce se
zmínit o bezpečnosti. Základním principem je: aktivovat pouze
služby/servery, které potřebujete. To určitě není ftp a
telnet. Zamezte tedy jejich spuštění při startu systému. Dále je vhodné
nakonfigurovat soubory /etc/inetd.conf
,
hosts.deny
a další, nemluvě o instalaci firewallu. Pro
základní informační přehled o tom, co "nabízíte" všem zájemcům, spusťte
jako root příkaz nmapfe
.
Jak vidíte, na můj počítač můžete poslat své dokumenty k tisku (tiskový
systém CUPS na portu 631), můžete se pokusit připojit pomocí šifrovaného
spojení (ssh), odesílat přes mě své maily (smtp), připojit se k mému
x-window systému a nebo používat mé freetype fonty. Tohle není pozvánka!
Naštěstí jsem modemový uživatel, kterému přiděluje IP adresu provider
náhodně, ale existují automaty, které testují i takové uživatele. Už jsem
měl několik návštěv přes ftp. Bezpečnost je citlivé téma, které se
nevyplatí podceňovat! (Pro mě je to oblast, na které budu pro svůj klid
pracovat v nejbližší budoucnosti.)
Pojďme k hlavnímu cíli. Jak donutit grafický přihlašovací manažer, aby naslouchal požadavkům ze sítě (Stanice), příp. aby požadavky vysílal (Server)? V Linuxu se používá standardní xdm. Obě majoritní prostředí (GNOME a KDE) nabízejí své manažery (kdm a gdm), které jsou velmi přívětivé. Jejich konfigurace pro naše účely je téměř nulová; musíme pouze nastavit, aby povolily protokol XDMCP, tj. aby přijímaly požadavky na připojení ze sítě. Nezáleží na tom, který z nich používáte; vyberte si ten, který se vám více líbí. Jejich základní konfiguraci si krátce probereme níže.
Předpokládejme, že na Stanici máte nainstalované pouze XFree se
standardními součástmi, mezi které patří i xdm. Soubor
/etc/X11/xdm/xdm-config
musí obsahovat (mimo jiné!)
následující řádek (obvykle bývá zakomentovaný "vykřičníkem" a je uveden
jako poslední):
DisplayManager.requestPort: 0
Tím nastavíme systém x-window tak, aby naslouchal XDMCP nabídkám k připojení.
Tento správce přihlášení má celkem významnou nevýhodu: nezobrazuje možná
sezení, která si můžete vybrat. Spustí tedy to, které je nastaveno jako
standardní (/etc/X11/xinit/xinitrc
). Pro správnou komunikaci
proveďte následující nastavení:
Soubor /etc/X11/xdm/Xaccess
musí
obsahovat řádek
* CHOOSER BROADCAST #any indirect host can get a chooser
Česky řečeno: nabízej možnost grafického připojení všem, kdo projeví zájem. Jak jistě chápete, hrozí tu možnost zneužití či útoku. Místo hvězdičky je tedy vhodné zadat IP adresu počítače, který se smí připojit. Pokud by toto nastavení nefungovalo, použijte pouze "hvězdičku" příp. IP adresu.
Pro konfigurační soubor kdm
(/opt/kde/share/config/kdm/Xaccess
) platí totéž, co pro výše
uvedený konfigurační soubor xdm:
* CHOOSER BROADCAST
#* # NEBO hvězdička (všichni) pro případ, že předchozí nefuguje
Ujistěte se, že v souboru /opt/kde/share/config/kdm/kdmrc
je v sekci [XDMCP]
položka enable=true
.
V souboru /etc/X11/gdm/gdm.conf
je v sekci
[XDMCP]
položka enable=true
. Narozdíl od
předchozích dvou správců neřeší gdm bezpečnost speciálním souborem
Xaccess
, ale prostřednictvím systémových souborů
/etc/hosts.allow
a /etc/hosts.deny
. V nich je
vhodné a nutné! specifikovat klienty, kteří se mohou připojit. Ale nejen
to, je také vhodné realizovat zde základní bezpečnostní opatření (opravdu
jen základní!). Např.
ALL:ALL EXCEPT LOCAL, .byt
v souboru /etc/hosts.deny
zakáže přístup ke všem službám
všem klientům kromě počítačů z domény .byt
. Pokud ale znovu
spustíte program nmapfe
, zjistíte, že se mnoho nezměnilo --
počítač je pořád "dokořán", protože doméně .byt nabízíme všechny služby.
Ale alespoň víte, že tady jste udělali maximum. Znovu připomínám:
bezpečnost se zajišťuje jinými způsoby.
Pokud na serveru běží x-window systém (a také některý ze zmíněných
správců), pokusíme se ze Stanice připojit. Pro testovací účely použijme
příkaz X -broadcast
. Spustí se XFree, hledá v síti pomocí
XDMCP server, ke kterému by se mohl přihlásit. Pokud jej najde, zobrazí
jeho okno přihlášení. Pokud jej nenajde, spustí se "čisté" XFree s křížovým
kurzorem. Standardně neprobíhá žádné bezpečnostní ověření! Pokud nic
nenajde, žádný server nevysílá do sítě (bude nutno restartovat manažer
přihlášení na Serveru), nebo klient není autorizován. Pokud se zobrazí
přihlašovací okno se jmény uživatelů na Serveru (kdm, gdm), máte vyhráno.
Ukončete server klávesovou kombinací Ctrl-Alt-Backspace
. Nyní
je vhodné změnit na Stanici runlevel číslo 4 (grafické režim) tak, aby se
po startu systému automaticky hledaly počítače v síti, ke kterým je možné
se připojit a zobrazilo se přihlašovací okno. Soubor
/etc/rc.d/rc.4
obsahuje tyto příkazy:
#!/bin/sh
#
# rc.4 This file is executed by init(8) when the system is being
# initialized for run level 4 (XDM)
#
# Version: @(#)/etc/rc.d/rc.4 2.00 02/17/93
#
# Author: Fred N. van Kempen,
# At least 47% rewritten by: Patrick J. Volkerding
#
# Tell the viewers what's going to happen...
echo "Starting up X11 session manager..."
if [ -x /usr/X11R6/bin/X ]; then
exec /usr/X11R6/bin/X -broadcast
fi
Tím tedy získáte možnost připojit se ke všem počítačům, které připojení
v daném segmentu sítě nabízejí. Připojení ke konkrétnímu počítači (třeba i
do internetu) se realizuje parametrem -query
IP_adresa_pocitace
.
Předpokládáme, že na Stanici nejsou nainstalovány fonty pro X-window (kromě základních 100dpi- a 75dpi-fontů). Zpřístupníme tedy freetype/truetype fonty ze Serveru. Podmínkou toho je, že na serveru běží X Font Server (xfs). Ten je schopen exportovat katalogy fontů "do sítě"; na Stanici běží XFree (nejlépe verze 4.3.0), které je schopno s těmito písmy pracovat. Ověřme si na Serveru, že xfs běží:
ps aux | grep xfs
root 260 0.0 1.1 7128 5748 ? S 10:07
0:01 /usr/X11R6/bin/xfs -daemon
X font server je někdy nutné také nakonfigurovat. (Pozn. pro uživatele
KDE: "Instalátor písem" v Ovládacím centru KDE to za vás neudělá! Ten pouze
nainstaluje písma do prostředí KDE, ale už ne do samotného XFree.) Protože
je konfigurační soubor trochu delší, přikládám jej jako přílohu (jedná se o soubor
/etc/X11/fs/config
). V každém adresáři, který zařazujeme do
katalogu písem, musí existovat soubory fonts.dir
a
fonts.scale
. O jejich
vytvoření vizte články o truetype fontech v Mozille;
je pravděpodobné, že je vše v pořádku.
Na Serveru tedy běží xfs a poskytuje katalog písem. Na Stanici musí být
XFree nastaveno tak, aby dokázalo tento seznam adresářů použít ve svých
vlastních katalozích písem. Zde už xfs běžet nemusí; pouze nastavíme
několik parametrů v souboru /etc/X11/XF86Config
(jedná se o
případ XFree 4.3.0!). Do cesty písem (FontPath) přidáme adresu počítače, na
kterém běží font server (192.168.1.10), a specifikujeme port, na kterém
naslouchá (obvykle 7100). Více man xfs
. Nesmíme zapomenout
také na načtení modulů, které umožňují práci s těmito fonty (sekce "Module"
a názvy "freetype", "xtt" a další).
...
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "tcp/192.168.1.10:7100"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
EndSection
Section "Module"
Load "record"
Load "extmod"
Load "dbe"
Load "dri"
Load "glx"
Load "xtrap"
Load "xtt"
Load "freetype"
Load "type1"
Load "speedo"
EndSection
...
Další informace o font serveru získáte příkazy xfsinfo
, fslsfonts
,
showfont
, xlsfonts
a pochopitelně xfontsel
. Následuje ukázka tohoto
programu sejmutá na Stanici, tedy v "odlehčeném" x-systému.
Všechna písma dostupná na Serveru i Stanici.
Všechna písma v kódování ISO8859-2 dostupná na Serveru i Stanici.
Pokud používáte na Stanici jiné prostředí/správce plochy než GNOME nebo KDE (což vřele doporučuji), budou se vám ta písma hodit. Na obrázku je můj Blackbox vyvedený v Microsoft Verdaně (když ještě byla volně přístupná...).
Zásadní slabinou představeného řešení je zvuk. Pokud si totiž pustíte např. xmms, zvuk se ozve (vedle) na Serveru! Jasně, vy jste na serveru; nemůže přece hrát Stanice! Ale aby to nebylo tak jasné, chcete-li si na Stanici pustit video (mplayer) ze Serveru, ohlásí vám, že nebylo nalezeno zařízení /dev/video -- protože jste fyzicky na Stanici! Nepochopil jsem, jak to tedy ve skutečnosti je. Která zařízení se použijí ze Serveru a která ze Stanice? Nevím. Všechno, co jsem se zatím dozvěděl, směřuje k faktu, že zatím neexistuje jednotný protokol pro přenos zvuku po síti. Situaci lze řešit za pomoci démonů artsd (z KDE) nebo esd (GNOME), ale nevím jak uspokojivě. Proto jsem vám doporučil, abyste si nainstalovali např. mpeg123: pokud si připojíte adresář s empétrojkami do adresáře na Stanici, můžete hudbu poslouchat lokálně spuštěným programem z konzole (stejně tak např. rádio nainstalované na Stanici uslyšíte jen tam).
Pro vaši informaci uvádím údaje o svých strojích a softwaru, abyste si udělali představu:
Doufám, že jsem vám svým (víceméně laickým) návodem pomohl k postavení domácí sítě a že vám to nedalo moc námahy. Pokud máte nějaké dotazy, které budu schopen zodpovědět, ptejte se v diskuzi. Ať vám slouží!
HOWTO:
Networking HOWTOmini-HOWTO:
Home-Network-mini-HOWTONástroje: Tisk bez diskuse
Tiskni
Sdílej:
/etc/X11/gdm/gdm.conf
aby akceptoval xdmcp
[xdmcp]
# Distributions: Ship with this off. It is never a safe thing to leave
# out on the net. Alternatively you can set up /etc/hosts.allow and
# /etc/hosts.deny to only allow say local access.
Enable=true
HonorIndirect=0
MaxPending=4
MaxPendingIndirect=4
MaxSessions=16
MaxWait=15
MaxWaitIndirect=15
DisplaysPerHost=1
Port=177
# Willing script, none is shipped and by default we'll send
# hostname system id
Willing=/etc/X11/gdm/Xwilling
[servers]
#0=Standard
#1=Standard
#Note: If you want to make sure X runs on a specific virtual console on linux,
# you can use the following (for console 7). However this can cause
# problems for some users. Be careful about this, getting this wrong
# can lead to an unusable console. Best solution is to make sure gdm
# starts as the last thing, and that will make it not neccessary to
# do hacks like this.
#0=Standard vt7
#
#Note: If you want to run an X terminal you could add an X server such as this
#0=Terminal -query serverhostname
# or for a chooser (optionally serverhostname could be localhost)
#0=Terminal -indirect serverhostname
[daemon]
AutomaticLoginEnable=false
AutomaticLogin=
# If you are having trouble with using a single server for a long time and
# want gdm to kill/restart the server, turn this on
AlwaysRestartServer=false
Configurator=/usr/sbin/gdmsetup --disable-sound --disable-crash-dialog
GnomeDefaultSession=/usr/share/gnome/default.session
Chooser=/usr/bin/gdmchooser
DefaultPath=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin
DisplayInitDir=/etc/X11/gdm/Init
Greeter=/usr/bin/gdmgreeter
#Uncomment this for the regular greeter
#Greeter=/usr/bin/gdmlogin --disable-sound --disable-crash-dialog
RemoteGreeter=/usr/bin/gdmgreeter
Group=gdm
HaltCommand=/usr/bin/poweroff
KillInitClients=true
LogDir=/var/log/gdm
PidFile=/var/run/gdm.pid
PostSessionScriptDir=/etc/X11/gdm/PostSession/
/etc/inittab
aby se spouštěl X server s
přihlašováním na vzdálený X Terminal Server
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 5
# xdm is now a separate service
x:5:respawn:/usr/bin/X11/X -query mujserver
$ telinit 3 ; sleep 5 ; telinit 5A je to
xfs
) /etc/X11/fs/config
aby akceptoval vzdálené požadavky přes tcp
#
# Default font server configuration file for Red Hat Linux
#
# allow a max of 10 clients to connect to this font server
client-limit = 10
# when a font server reaches its limit, start up a new one
clone-self = on
# alternate font servers for clients to use
#alternate-servers = foo:7101,bar:7102
.
.
.
# use lazy loading on 16 bit (usually Asian) fonts
deferglyphs = 16
# how to log errors
use-syslog = on
# don't listen to TCP ports by default for security reasons
#no-listen = tcp
xfs
$ /etc/int.d/xfs restart
/etc/X11/XF86config
aby se připojil ke vzdálenému font serveru
Section "Files"
# The location of the RGB database. Note, this is the name of the
# file minus the extension (like ".txt" or ".db"). There is normally
# no need to change the default.
# Multiple FontPath entries are allowed (they are concatenated together)
# By default, Red Hat 6.0 and later now use a font server independent of
# the X server to render fonts.
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "tcp/mujserver:7100"
EndSection
Ctrl+Alt+Backspace
Už je to trochu starší diskuze, ale přece to zkusím:
Přesně v duchu článku plánuji pořízení pracovní stanice, ovšem navíc bych rád, aby server nemusel stále běžet. Takže by to mělo fungovat asi takto:
Mám představu, že by na serveru mohl běžet nějaký daemon na vzdálený přístup s nastavenými pravidly pro vypnutí, byl by ovládán příkazy ze stanic. Jak zařídit zapnutí serveru v případě bezdiskové stanice, to nevím. Možná bootovat z diskety?
Zkoušel to někdo? Nějaké odkazy?