facebook LinkedIN LinkedIN - follow
IT SYSTEM 3/2004

Jak na to v Linuxu:

Vzdálená administrace II

Mgr. Ivan Bíbr


V minulém díle jsme si řekli, že Linux umožňuje bezpečné vzdálené připojení v textovém režimu. Díky tomu se dá administrovat klasickým způsobem v podstatě úplně stejně, jako kdybychom seděli přímo u linuxového počítače či serveru. Ukázali jsme si také konfigurační nástroj Webmin a administraci Linuxu pomocí webového prohlížeče. Protože běžně používané "velké" distribuce mají vlastní nástroje pro nastavení, ukážeme si, jak zařídit, abychom mohli vzdáleně používat i je.


Servery a grafický režim
Než se pustíme do práce, neodpustím si jednu polemiku. V dalším textu se budu zabývat tím, jak pracovat s grafickými nástroji na vzdáleném počítači. To předpokládá, že na něm budou instalovány komponenty pro provoz grafického režimu. Dle názoru mnoha zkušených administrátorů by se zvláště na serverech nemělo nic podobného ani vyskytovat, protože pro nastavení a provoz serveru nejsou podobné nástroje vůbec nutné. K podobným prohlášením mají administrátoři samozřejmě své důvody. Každý nainstalovaný software totiž znamená riziko.

Servery v ostrém provozu je potřeba velmi dobře hlídat a čím více softwaru, tím více chyb a problémů můžeme očekávat. V praxi se doporučuje mít na serverech pouze naprosté minimum nutné pro chod serveru a zajištění služeb, které má poskytovat. Z tohoto pohledu je jakýkoliv konfigurační nástroj (a navíc v grafice!) zbytečný, protože na Linuxu prostě můžete provádět nastavení pouhou editací textových souborů v adresáři /etc. Se všemi výše uvedenými fakty musím jen souhlasit. Na druhou stranu, každý někdy začínal, a tak se mohou najít některé velmi pádné důvody pro použití podobných nástrojů.

Nastavení sítě vzdáleně v textovém režimu

Osobně si myslím, že za rozumného nastavení a při dodržování bezpečnostní politiky nemusí přítomnost těchto nástrojů na některých serverech představovat problém. Záležet bude hodně na umístění serveru, přístupu k němu, citlivosti uložených dat a podobně. Každopádně si servery vždy dobře hlídejte a co nejvíce omezte možnost přístupu k nim. Pamatujte – větší bezpečnost vždy znamená menší pohodlí a naopak!

Ještě jednou textový režim
Mám tady ještě jeden dodatek k minulému dílu vztahující se k části vzdálené administrace v textovém režimu. Ne vždy je nutná orientace v adresáři /etc, někteří výrobci distribucí myslí i na méně znalé uživatele. Konfigurační nástroje některých distribucí (nebo jejich části) lze proto spustit i v textovém režimu, stačí mít nainstalován příslušný balíček. Textovým modulem tak disponuje například YaST2 ze SUSE Linuxu nebo Drakconf z Mandrake Linuxu. Nastavení sítě pomocí Drakconfu v textovém režimu vidíte na obrázku 1.

Rád bych na tomto místě zmínil program LinuxConf. Jde o opravdového nestora v linuxových konfiguračních nástrojích. Spousta uživatelů jej nemůže ani vystát, ale pamatuji si doby, kdy mi s konfigurací RedHatu vydatně pomáhal. LinuxConf je navržen podobně jako Webmin, existuje jádro programu a ostatní je dodáváno pomocí rozšiřujících modulů. Ty mohou definovat jak jeho funkce (tedy to, co umí), tak i způsob ovládání – LinuxConf má několik uživatelských rozhraní. Ukázku nastavení sítě vidíte na obrázku 2 v textovém režimu, na obrázku 3 pro změnu v režimu grafickém a existuje i rozhraní pro web.

Vzdálené spouštění aplikací
Další výklad budu věnovat obecně spouštění grafických aplikací na vzdálených počítačích. Výklad bude trochu ztížen tím, že jsme si prozatím neřekli nic o architektuře grafického systému v Linuxu – X Window. Dnes si některé věci ukážeme bez rozsáhlého objasňování a k teorii se vrátím až v rámci dalšího dílu, kdy se bez ní již neobejdu. Přijměte proto dnes postupy prezentované dále pouze jako fakta.

Nástroj LinuxConf opět v textovém módu

Spouštět programy v grafickém režimu na vzdálených počítačích a ovládat je není a nikdy snad ani nebyl v Linuxu (a Unixu) problém. Nepotřebujeme k tomu ani žádné speciální aplikace, vše je umožněno díky síťové architektuře X Window systému. Spouštěný program v podstatě ani nepozná, že je zobrazen a ovládán odjinud než z „lokálu“. Na to, aby se nám výstup programu ze vzdáleného počítače zobrazil, musíme provést pouze několik málo kroků. První z nich je povolení ostatním zobrazovat na našem displeji. K tomu slouží příkaz xhost následovaný znaménkem plus (+) a jménem, případně IP adresou počítače, kterému chceme tohoto privilegia dopřát. Nezadáme-li jméno/adresu, bude zobrazování povoleno všem, což není moc bezpečné. Znaménko mínus (-) funguje přesně naopak.

V dalším kroku se na vzdálený počítač musíme přihlásit. V grafickém prostředí stačí spustit libovolný emulátor terminálu a s pomocí ssh se ke vzdálenému počítači připojit. Nyní zkuste spustit libovolný program jeho jménem a s největší pravděpodobností se na vaší obrazovce otevře okno programu spuštěného na vzdáleném počítači. Je to tím, že ssh obvykle samo provede přesměrování displeje na váš počítač. Nyní je jasné, že k administraci počítače můžeme takto vzdáleně použít standardní nástroje dodávané s distribucemi, například již zmiňovaný YaST2 nebo Drakconf. Stačí, když budou na vzdálených počítačích nainstalovány a my se k nim budeme moci připojit a spustit je.

LinuxConf s grafickým rozhraním (používá knihovnu GTK)

Ještě jednodušší je uvést na konec řádku pro ssh přímo příkaz, který chcete spustit. V takovém případě není třeba čekat ani na zobrazení příkazového řádku, zadaný příkaz je spuštěn automaticky. Chcete-li použít u příkazu parametry nebo spustit více příkazů, uzavřete vše (jako celek) do uvozovek, aby nedošlo ke špatné interpretaci na lokálním počítači. Raději uvedu i příklad syntaxe:

ssh root@firewall "drakconnect; drakfirewall"

Po zadání hesla, nebo automaticky, používáte-li klíče, se objeví okno prvního programu pro nastavení sítě a po jeho ukončení okno dalšího programu pro nastavení firewallu. Po ukončení druhého programu bude spojení uzavřeno. Problémy se spouštěním mohou nastat v podstatě ze dvou důvodů. První je ten, že ssh má zakázáno přenášet tato spojení. Trvalá náprava je jednoduchá, najděte v konfiguraci sshd serveru nebo ve vaší lokální konfiguraci ssh direktivu "X11Forwarding" a nastavte ji na hodnotu "yes". Zároveň s tím se vyplatí zapnout kompresi přenášených dat (direktiva "Compression"). Druhá možnost je podobná – když cesta vede přes několik počítačů a ztratí se možnost zajistit spojení i na úrovni pro X Window. Chyba bývá v konfiguraci některého serveru "po cestě". Zkuste si vynutit tunelování pro X Window přepínačem -X. Výše uvedený způsob vzdáleného přístupu a administrace má několik výhod. Vystačíte se standardními komponentami systému. Nemusíte v podstatě nic nastavovat a kromě ssh daemona na serveru neběží trvale žádná aplikace zajišťující služby ostatním počítačům, jak tomu bude v dalších případech. Naproti tomu se vám občas může stát, že nerozeznáte, která aplikace je odkud spuštěna, ale to se dá vyřešit třeba výběrem vhodného grafického tématu.

Vzdálené desktopy
Pojmem "vzdálený desktop" bych označil takový způsob práce, kdy máte k dispozici celou pracovní plochu vzdáleného počítače, ne jen jednu aplikaci jako v předchozím případě. Opět máme několik možností, jak se s tímto požadavkem vypořádat. Jako první se pokusíme použít pouze standardní programy dodávané s implementací XFree86 v Linuxu. Máte-li na počítači balíčky s XFree86 nainstalovány, najdete tam i programy, které použiji dále.

Přihlášení na vzdálený počítač pomocí Xnest

Základním předpokladem pro takovéto spojení je běžící display manager (správce displeje) na vzdáleném počítači. Zjednodušeně řečeno, správce displeje vidíte při přihlašování do systému v grafickém režimu. Ten provede autentizaci uživatele a po přihlášení spustí jeho pracovní prostředí. Správců displeje máme v Linuxu několik a je v podstatě jedno, který použijete. Základní správce dodávaný s XFree86 XDM (X Display Manager) není dnes příliš používán. Spíše narazíte na jeho „hezčí“ kolegy se jménem KDM a GDM (jeden je součástí KDE, druhý GNOME). Správce displeje umí poskytovat své služby vzdáleně protokolem XDMCP (XDM Control Protocol). XDMCP bývá ve většině instalací zakázáno a musíte je povolit. Pro GDM použijte program gdmconfig, KDM lze nastavit v Ovládacím centru KDE, záložka Systém/Správce přihlášení. Po povolení XDMCP musíte display manager restartovat, aby znovu načetl svoji konfiguraci. Pro spojení je používán port číslo 6000, nezapomeňte jej povolit, máte-li na lokále firewall. Ke „spuštění“ vzdáleného desktopu použijeme program Xnest, kterému musíme říci, kam se má obrátit a který lokální displej má obsadit. Protože jsme se lokálním displejem ještě nezabývali, zkuste zvolit číslo větší než jedna a vše se pravděpodobně povede bez problémů. Pro jistotu uvádím příklad spuštění:

Xnest :4 -query 192.168.0.30

Vzdálený počítač měl IP adresu 192.168.0.30 a Xnest použil lokální displej číslo 4. Výsledek je pěkně vidět na obrázku 4 – správce displeje je v okně hlavního desktopu, po přihlášení je spuštěno stejné prostředí, jako kdybychom u počítače seděli, viz obrázek 5. V okně uprostřed vidíte v podstatě druhé prostředí kompletně spuštěné z jiného počítače. V něm lze normálně pracovat, tedy i provádět administraci pomocí grafických konfiguračních nástrojů. Při ovládání mějte na paměti, že manipulujete se vzdáleným počítačem – otevíráte jeho mechaniky a nastavujete jeho síťové karty. U počítačů, které spravujete vzdáleně, by měly být nastaveny síťové zdroje balíčků pro případ, že bude potřeba doinstalovat software.

Linux v Linuxu

Úplně stejným způsobem lze přistupovat ze stanic se systémem Windows, je třeba si pouze obstarat implementaci Xserveru pro tuto platformu. Xserver pro Windows je součástí projektu Cygwin. Instalace probíhá přímo po síti, nezapomeňte vybrat k instalaci komponenty XFree86. Cygwin je vůbec velmi zajímavý projekt, díky kterému lze používat na platformě Windows mnoho unixového software. Spuštění „okna s Linuxem“ proběhne jen mírně odlišně, v příkazové řádce použije příkaz:

X :4 -query 192.168.0.30

a výsledek bude vypadat podobně jako na předchozím obrázku, jen hostitelským systémem budou Windows. Pozor! Tento způsob spuštění se nepovede, je-li na počítači s Windows nainstalován klient sítě Novell Netware. Jde o hlášenou chybu, na kterou jsem už také narazil. Řešení bohužel nemá.

Cygwin: www.cygwin.com

Rozdílem mezi způsoby spouštění v předchozích příkladech se budeme zabývat příště, souvisí s architekturou X Window systému. Stejně tak musím napříště nechat i další zajímavý software z oblasti vzdáleného přístupu (VNC a rdesktop).

Co nového ve světě Linuxu
Hodně se dělo v oblasti desktopu. Začátkem února vyšla nová verze desktopového prostředí KDE 3.2 spolu s novým vývojovým prostředím Kdevelop. Na seznamu změn figuruje mnoho oprav, několik nových aplikací a pracovalo se také na lepší odezvě systému. Zrychlení jsem při pokusech s novou verzí opravdu zaznamenal i na slabších strojích. Vyšel i nový kancelářský balík KOffice 1.3, kde se velmi zlepšila kompatibilita s dokumenty Microsoft Office. Vyšla také nová Mozilla 1.6 a mílovými kroky se blíží The GIMP 2.0, už máme na světě několik pre-verzí.

Ve Škodovce si pořídili nový výpočetní cluster s Linuxem. Hardware dodala SGI, ve stanicích jsou procesory Itanium. Firmě Real Network se zalíbil otevřený způsob vývoje a otevírá zdrojový kód svého přehrávače. SCO (pro změnu) zvýšilo své požadavku vůči IBM, poslední údaje hovoří o pěti miliardách. Asi nejzajímavější ukázku zcizeného kódu najdete na www.linuxstolescocode.com.

Autor článku, Mgr. Ivan Bíbr, pracuje pro místní zastoupení distribuce Mandrake Linux.

Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.


Inzerce

Modernizace IS je příležitost přehodnotit způsob práce

IT Systems 4/2025V aktuálním vydání IT Systems bych chtěl upozornit především na přílohu věnovanou kybernetické bezpečnosti. Jde o problematiku, které se věnujeme prakticky v každém vydání. Neustále se totiž vyvíjí a rozšiřuje. Tematická příloha Cyber Security je příležitostí podívat se podrobněji, jakým kybernetickým hrozbám dnes musíme čelit a jak se před nimi můžeme chránit. Kromě kybernetické bezpečnosti jsme se zaměřili také na digitalizaci průmyslu.