V Linuxu (a Unixu obecně) existuje superuživatel jménem root. Obdobou roota ve Windows je Administrátor (správce). Tento správce počítače může dělat naprosto cokoli, takže provádění běžné denní práce pod účtem správce může být velice nebezpečné. Můžete napsat nesprávně příkaz a zhroutit si tak systém. Proto je důležité používat jen uživatele s takovými oprávněními, která jsou zrovna pro daný úkol potřeba. V některých případech je třeba použít účet roota, ale většinou (pro klasickou práci na počítači) úplně postačuje běžný uživatel.
Výchozím nastavením Ubuntu je, že účet roota je zamčen, deaktivován. To znamená, že se nemůžete přihlásit jako root anebo použít příkaz su
(příkaz pro změnu identity). Místo toho instalátor nastaví systém tak, aby správu počítače mohl provádět uživatel vytvořený při instalaci (tzn. prvně vytvořený uživatel), a to pomocí příkazu sudo
. Ostatní uživatelé příkaz sudo
používat nemohou, ale toto právo se jim může udělit.
To znamená, že v Terminálu můžete používat sudo
pro příkazy vyžadující rootovská oprávnění. Všechny programy v menu, které budou vyžadovat heslo (např. aplikace v menu Systém → Správa), použijí grafickou podobu sudo (zešedne obrazovka a objeví se políčko pro zadání hesla). Když sudo
žádá o heslo, žádá o VAŠE UŽIVATELSKÉ heslo - to znamená, že žádné rootovské heslo není potřeba.
Příklad #1
sudo chown bob:bob /home/bob/*
Příklad #2
sudo /etc/init.d/networking restart
Pokus se při přihlašování zobrazí chybová hláška: „Unable to read ICE authority file“, přihlaste se použitím „záchranného terminálu“ a spusťte příkaz:
sudo rm /home/uživatel/.{ICE,X}authority
místo uživatel
napište své přihlašovací jméno.
Od verze Ubuntu 13.04 již není balík gksu
potřeba a tedy není ani v základní instalaci, pro použití příkazu „gksudo“ musíte tento balík doinstalovat:
sudo apt-get install gksu
sudo -i
Permission denied
nebo
You need to be root to perform this command.
Pro povolení dalšímu uživateli spravovat počítač pomocí sudo, otevřete Terminál a napište příkaz: sudo adduser <uživatel> sudo
, kde <uživatel>
nahradíte přihlašovacím jménem uživatele.
Pokud si nainstalujete balík nautilus-gksu
a přihlásíte se znova, získáte možnost snadno spouštět aplikace a manipulovat se soubory pod správcovským oprávněním. Na libovolné složce či souboru pak v Nautilu v kontextové nabídce na pravém tlačítku myši přibude položka Otevřít jako správce.
Pokud spustíte program nebo otevřete složku pod správcovským oprávněním, dejte si pozor na to, abyste program zavřeli hned, jakmile dokončíte potřebnou činnost. Pokud byste s daným programem nebo Nautilem pod správcovským oprávněním manipulovali nejen se systémovými soubory ale i se soubory osobními, jejich přístupová práva budou změněna, a vy je pak jako obyčejný uživatel nebudete schopen přečíst.
Výhody zablokovaného účtu root zahrnují následující:
Přestože pro uživatele stolních počítačů jsou výhody užívání sudo obrovské a převažují nad nevýhodami, existují zde možné situace, které je nezbytné zmínit:
ls | sudo tee /root/soubor
. Také můžete poslat celý příkaz shellu spuštěnému pod sudo, např. sudo bash -c „ls > /root/soubor“
. Nebo si spustit rootovský shell pomocí sudo -i
a spustit příkaz tam.Základní bezpečnostní model je stejný, a tudíž tyto dva systémy sdílejí jejich primární slabosti. Kterýkoli uživatel, co používá su nebo sudo musí být považován za privilegovaného uživatele. Pokud je jeho účet napaden nějakým útočníkem, může útočník získat práva roota zároveň s uživatelem. Uživatelský účet je slabý článek a musí být chráněn stejně pečlivě jako root.\ Obecně řečeno, sudo poskytuje některé vlastnosti, které podněcují určité odlišné pracovní návyky, které mohou mít pozitivní dopad na bezpečnost systému. sudo je běžně používáno na spuštění pouze jediného příkazu, zatímco su je běžně používáno pro otevření konzole a spouštění více příkazů. Přístup sudo redukuje pravděpodobnost nechání rootovské konzole otevřené donekonečna, a povzbuzuje uživatele minimalizovat používání rootovských práv.
Program sulogin
v Ubuntu je upraven aby zvládl standardní případ zamknutého rootovského hesla.
Uživatelé konzole mají přístup k zavaděči systému a mohou získat správcovský přístup mnoha cestami během zavádění systému. Například specifikováním alternativního init(8)
programu. Linuxové systémy nejsou typicky konfigurovány pro bezpečnost v konzoli, a dodatečné kroky (například nastavení hesla roota, hesla zavaděče a hesla BIOSu) jsou nezbytné pro změnu tohoto stavu. Vězte, že uživatelé konzole mají většinou fyzický přístup k počítači, a proto s ním mohou manipulovat i jinými způsoby.
Zapnutí účtu root v Ubuntu není ani potřebné ani podporované. Cokoli, co potřebujete udělat jako správce v Ubuntu systému můžete provést pomocí příkazu sudo
.
Pro odemknutí účtu root do konzole zadejte:
sudo passwd root
Poté si program sudo vyžádá heslo aktuálního uživatele a poté dvakrát zadejte nové heslo pro roota.
Pokud je účet root zapnutý a chcete jej vypnout, otevřete terminál a zadejte následující příkaz:
sudo passwd -l root