Správa linuxového serveru: Co dělat po instalaci
V tomto díle proberu základní poinstalační aktivity a pozvu vás na menší exkurzi do nového systému Debian GNU/Linux. Dozvíte se o několika užitečných nástrojích pro administrátora linuxového serveru.
Těsně po instalaci je vhodné nainstalovat některé balíčky, které vám jako správcům usnadní práci. Já obvykle instaluji tyto balíčky:
openssh-server - SSH server pro vzdálenou správu
mc - terminálový panelový správce souborů (Midnight commander)
vim-nox - editor Vim (bez závislosti na X)
screen - správce sezení v terminálu
htop - interaktivní správce úloh
lshw - jeden z nejlepších nástrojů pro získávání informací o hardwaru
iotop - sledování I/O operací procesů v reálném čase
apg - řádkový generátor hesel
Po instalaci se určitě hodí nainstalovat SSH server, abyste mohli k serveru přistupovat vzdáleně a nemuseli být fyzicky u něj. Zabezpečení SSH serveru se budeme věnovat podrobně v některém z dalších dílů, prozatím postačí držet se několika rad:
v /etc/ssh/sshd_config
nastavit volbu PermitRootLogin
na jinou hodnotu než yes
(nebo zvolit opravdu velmi silné heslo pro roota) - v úvahu přichází hodnota no
(zakáže vzdálené přihlášení na roota) nebo hodnota without-password
(povolí vzdálené přihlášení roota pouze SSH klíčem)
ujistit se, že v systému není žádný testovací uživatel se slabým heslem (uživatel test
s heslem test
zajistí téměř spolehlivě kompromitaci serveru útočníkem v řádu hodin)
používat ke vzdálenému přístupu uživatelský účet, který jste si vytvořili při instalaci, a opatřit jejbezpečným heslem
ideální je hlásit se pouze pomocí SSH klíčů a nastavit v /etc/ssh/sshd_config
volbuPasswordAuthentication
na no
, čímž zakážete přihlašování heslem pro všechny uživatele
Midnight Commander je výborným pomocníkem nejenom pro začínající správce. Spolu s ním získáte i uživatelsky přívětivý textový editor mcedit. Jako editor můžete samozřejmě používat i něco jiného, třeba můj oblíbený Vim (Vi Improved). I když se vám do toho nemusí chtít, naučit se základy práce s editorem Vi není pro správce unixových serverů vůbec na škodu, protože s některou z jeho variant se zajisté setkáte u drtivé většiny serverů, které třeba dostanete pod svou správu. Naopak jiné editory nemusíte mít mnohde k dispozici.
Pokud potřebujete provést nějakou časově náročnější operaci, provádět více operací současně, nebo pokud se připojujete přes ne zcela spolehlivé připojení, hodí se vám nástroj Screen, který vám zajistí jednak možnost spouštět více "virtuálních terminálů" v jediném SSH sezení, ale který také zajistí kontinuitu vaší práce, pokud se třeba SSH spojení přeruší. Screen vám v takovém případě zůstane běžet na pozadí a vy se k němu můžete kdykoliv znovu "připojit" příkazem:
screen -x
Htop je trošku příjemnější nástroj pro správu procesů než klasický top, používá barvy a je trošku intuitivnější. Občas se vám pro diagnostiku hodí i nástroj iotop, který vám řekne, jaký proces zrovna provádí práci s disky a jak moc je zatěžuje.
Nástroj lshw je nedocenitelný pomocník, pokud se chcete dozvědět více o hardwaru příslušného serveru. Umí toho zjistit neuvěřitelně mnoho, třeba i osazení jednotlivých paměťových bank. Vše umí prezentovat v jasné hierarchické struktuře a dokonce zvládá i export informací do HTML nebo XML.
Pro rychlou změnu nebo nastavení hesel jsem zvyklý instalovat nástroj apg, pomocí kterého je možné generovat hesla přímo na serveru.
Jako správci byste měli mít přehled o nejdůležitějších souborech, adresářích a skriptech v Debianu. Předesílám, že řada z těchto umístění je totožná i v případě jiných distribucí:
/etc/fstab
- nastavení připojení souborových systémů do jednotlivých adresářů
/etc/crypttab
- nastavení šifrovaných souborových systémů
/etc/network/interfaces
- nastavení sítě
/etc/resolv.conf
- nastavení DNS serverů pro systémový resolver
/etc/sysctl.conf
- "permanentní" nastavení parametrů jádra
/etc/security/limits.conf
- nastavení limitů pro uživatele
/etc/ssh/sshd_config
- konfigurace SSH démona (viz výše)
/etc/apt/sources.list
- konfigurace repositářů správce balíčků Debianu
/etc/pam.d/*
- konfigurace PAMu (zásuvné autentikační moduly)
Většina těchto konfiguračních souborů má buď vestavěnou nápovědu, nebo manuálovou stránku. V dalších dílech si některé z nich představíme blíže.
Jak víte, po spuštění počítače a provedení příslušných testů předá BIOS řízení zavaděči (maličký program v prvních 446 bytech MBR). Zavaděč nahraje do paměti obraz jádra (popř. ještě iniciálního ramdisku) a spustí jej. Jádro připojí kořenový souborový systém a spustí /sbin/init
, který začne pouštět další služby (démony) a procedury, jejichž obslužné skripty se nacházejí v /etc/init.d
.
V Linuxu je možné nadefinovat různé úrovně běhu (runlevel), v rámci kterých se spouští (nebo vypínají) různé služby. Úrovně běhu v Debianu jsou ve výchozím stavu nadefinované pouze dvě, a to úroveň 1, tedy jednouživatelský režim bez sítě, a úroveň 2, kde běží naopak úplně všechno. Pro úplnost dodávám, že existují ještě dvě další, výchozí úrovně běhu, úroveň 0, vypnutí systému (shutdown), a úroveň 6, restart.
O tom, jaké služby se ve které úrovni běhu spustí nebo vypnou, rozhodují symbolické odkazy v adresářích/etc/rc?.d
. Na změny v těchto adresářích lze použít nástroj update-rc.d
. Výchozí úroveň běhu a další typy služeb a procedur, které spouští init
, se konfigurují v souboru /etc/inittab
.
Jako správcům se vám bude určitě hodit adresář /usr/share/doc
, který obsahuje dokumentaci k jednotlivým nainstalovaným balíčkům. Zde najdete různé README
, poznámky správců daných balíků, ale třeba i příklady konfiguračních souborů, apod.
Tím bych exkurzi i tento díl seriálu ukončil. Příště se vrátím k tématu RAID z praktického pohledu a ukážu vám, jak softwarový RAID v Linuxu funguje, jak jej vytvořit a spravovat.