Instalace některých důležitých balíčků
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 volbuPermitRootLogin
na jinou hodnotu nežyes
(nebo zvolit opravdu velmi silné heslo pro roota) - v úvahu přichází hodnotano
(zakáže vzdálené přihlášení na roota) nebo hodnotawithout-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 heslemtest
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 jej bezpečným heslem
- ideální je hlásit se pouze pomocí SSH klíčů a nastavit v
/etc/ssh/sshd_config
volbuPasswordAuthentication
nano
, čí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.
Exkurze do nového systému
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í:
Stěžejní konfigurační soubory
/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.
Stěžejní skripty a umístění
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.