Uživatelský účet root

Popis problému

Pokud jste si u nás objednali službu, jejíž součástí je operační systém GNU/Linux, bude možná jednou z prvních věcí, která vás bude zajímat, kde naleznete heslo k uživateli root.

Zejména, pokud se při práci v terminálu, resp. bashi dostanete do situace, kdy budete chtít provést nějaký příkaz, ale terminál zareaguje informací o nedostatečných oprávněních, např. „Permission denied“, apod. Nebo když se například budete chtít přepnout pod uživatele root. Systém po vás bude chtít, abyste zadali heslo uživatele root. Vy jej ale samozřejmě neznáte.

Možná, že jste si v popisu některé z našich služeb služby přečetli, že dostanete root přístup. Přesto vám nikdo heslo k uživatelskému účtu root nezaslal ani nesdělil. V následujícím textu se dozvíte důvody proč.

Potřebujete provést nějakou akci jako root, ale nikdo vám nezaslal heslo?uzivatelsky-ucet-root-1

Proč byste neměli znát heslo roota

Důvod, proč jsme vám heslo k uživatelskému účtu root nezaslali, není náš rozmar či neochota. Ve skutečnosti jsou důvody historické a úzce souvisí s bezpečností.

V rámci operačního systému je možné provádět některé akce, které mohou mít významný vliv na jeho funkcionalitu či mohou dokonce způsobit jeho úplné selhání. Proto jsou takové akce v rámci operačního systému dostupné pouze pro uživatele s odpovídajícími zvýšenými oprávněními. Takoví uživatelé jsou označování jako „superuživatelé“ a příkladem superuživatele je právě uživatel root.

Zkušenosti s používáním uživatelských účtů typu superuživatel však byly a stále jsou takové, že uživatelé je využívají v mnohem větší míře než by měli, tj. nejen pro akce, u nichž je to nezbytné, ale i pro běžné činnosti. Také je snadné zapomenout, že pracujeme pod superuživatelským účtem, a tudíž můžeme snadno způsobit významné škody. Uživatelský účet root je navíc v operačních systémech GNU/Linux nejvyšším uživatelským účtem, což zároveň znamená, že je také potenciálně nejvyšší bezpečnostní hrozbou.

Právě to jsou důvody, proč vám nikdo heslo k uživatelskému účtu root nesdělil a ani nesdělí. Tvůrci linuxových distribucí se totiž v zájmu zvýšení bezpečnosti rozhodli, že heslo pro uživatelský účet root nebude defaultně definováno. Nyní se možná budete ptát, zda je tedy vůbec možné některou z akcí vyžadujících zvýšené oprávnění realizovat? Odpovědí je mechanismus sudo, který tvůrci linuxových distribucí do operačního systému integrovali.

Mechanismus sudo

„Sudo“ je zjednodušeně řečeno skupina uživatelů, kteří mohou provádět příkazy, pro které jsou vyžadována zvýšená oprávnění. Jinak řečeno, uživatelé, kteří jsou členy sudo, nepotřebují pro vykonání příkazů vyžadujících zvýšená oprávnění vůbec použít uživatelský účet root. Namísto toho před příkaz, který chtějí provést, zapíší příkaz sudo, například:

sudo ls –a /root

Cílem mechanismu sudo je tedy jednoznačně minimalizace využívání uživatelského účtu root. Cíl zvýšení bezpečnosti ctíme i my, a proto jsme vám heslo k uživatelskému účtu root nesdělili a nesdělíme. Vy však uživatelský účet root nepotřebujete. Uživatelský účet, ke kterému jste obdrželi přístupové údaje, je nicméně členem sudo, a proto stačí, abyste před příkaz, který vyžaduje zvýšená oprávnění, zadali sudo. Systém ověří, že účet, pod kterým pracujete, je členem sudo a provede zadaný příkaz.

Použití sudo pro realizaci příkazu vyžadujícího zvýšená oprávněníuzivatelsky-ucet-root-2

Je samozřejmě možné heslo pro uživatelský účet root nastavit. Zvyšuje to nicméně šanci, že používáním uživatelského účtu root poskytnete útočníkům možnost k odcizení vašeho virtuálního stroje či služby.

Co by se vám ale někdy mohlo hodit, je možnost dočasného přepnutí pod uživatele root. Pro tyto účely není nutné heslo nastavovat. Jestliže je uživatelský účet, pod kterým právě pracujete členem sudo, provedete přepnutí pod uživatelský účet root následujícím příkazem:

sudo su –

Přesun pod uživatele root je indikován změnou podoby promptu bashe z nazevuzivatele@nazevhosta na root@nazevhosta. Pod uživatelským účtem však provádějte pouze akce, pro které je použití tohoto uživatelského účtu nezbytné. Práci s uživatelským účtem root pak ukončíte následujícím příkazem:

exit

Ukončení práce pod uživatelským účtem root je opět indikováno změnou promptu bashe z root@nazevhosta na nazevuzivatele@nazevhosta.

Shrnutí

Nyní již tedy znáte důvody, proč vám nikdo heslo k uživatelskému účtu root nesdělil a víte také, jak používat uživatelský účet, k němuž jsme vám přístupové údaje sdělili, pro realizaci příkazů vyžadujících zvýšená oprávnění. Doporučení od nás zní, nepoužívejte uživatelský účet root, pokud to není skutečně nutné a i v takovém případě jen po nezbytně nutnou dobu. Práci pod uživatelským účtem root vždy řádně ukončete. Pokud je to nutné, použijte raději místo uživatelského účtu root sudo.