Takže pro další takové lidi, zde píši vysvětlení proč to tak je. V prvé řadě, sudo je zkratka od slov SuperUser Do, tedy volným překladem něco jako dělej pod superuživatelem.
Toto je výchozí chování téměř všech linuxových distribucí. Po nainstalování je přímé přihlášení na roota zakázáno, jelikož nemá nastaveno žádné heslo. Při normální instalaci třeba debianu nebo ubuntu na PC nikde heslo na roota nevyplňujete, pouze zadáte uživatelské jméno a heslo. Daný uživatel je pak přiřazen do skupiny "admin" a ta může pomocí příkazu "sudo" získat oprávnění roota k vykonání nějakého příkazu. Tedy nežádejte nás o zaslání hesla na roota, žádné heslo nastaveno nemá.
Pokud tedy potřebujete vykonat nějaký příkaz, který vyžaduje práva roota, je potřeba před tento příkaz napsat sudo. Poté budete vyzváni k zadání Vašeho hesla a příkaz se poté provede s oprávněním roota.
např. tedy:
Kód: Vybrat vše
sudo apt-get install wget
Pokud z nějakého důvodu nechcete neustále zadávat sudo před každý příkaz nebo prostě kvůli něčemu potřebujete být pod rootem trvale, lze toho docílit napsáním příkazu
Kód: Vybrat vše
sudo -i
Kód: Vybrat vše
su -
Opět vyžaduje zadání Vašeho hesla.
Pokud přesto chcete nastavit heslo na roota a přímo se za roota přihlašovat na ssh, je potřeba mu nejprve nastavit heslo.
Tedy nejprve se musíte pod roota dostat pomocí příkazu výše. Poté stačí napsat příkaz
Kód: Vybrat vše
passwd
Další věc, kterou je nutno udělat, je povolit přihlašování na ssh pro uživatele root. Toto je taktéž ve výchozím stavu z bezpečnostních důvodů zakázáno u prakticky všech distribucí. Pro povolení je potřeba v configu ssh v /etc/ssh/sshd_config změnit #PermitRootLogin without-password na
Kód: Vybrat vše
PermitRootLogin yes
Kód: Vybrat vše
sudo service ssh restart
nebo
sudo /etc/init.d/ssh restart
Po těchto krocích je možno se přihlásit rovnou na roota přes ssh.
Pamatujte, že jakmile jste natvrdo pod rootem, stačí jediný příkaz k tomu abyste si kompletně znefunkčnili celý OS a přišli o všechna data.
Zde si nevymýšlím, přesně z tohoto důvodu (neznalost zákazníka a lenost používat sudo) jsme již zhruba 3x řešili kompletně smazané vps.
Spousta lidí se diví proč to tak je (ano, některé jiné hostingy dávají přístup na roota přímo), přitom naprosto stejné chování používate denně na svém windows PC. Taktéž se nepřihlašujete pod účtem Administrator, což je win ekvivalent uživatele root, ale máte svůj normální uživatelský účet Franta a pokud potřebujete práva Administrátora třeba na nainstalování nějakého programu, tak Vám vyskočí to okno, kde se Vás to zeptá jestli chcete udělit administároská oprávnění. To je ekvivalent sudo. Jen ty winy to sudo použijí za Vás. Pokud si ve windows chcete spustit třeba příkazovou řádku, tak ji spustíte jako normální uživatel, pokud ji chcete spustit jako Administrátor, musíte kliknout pravým a dát "Spustit jako správce", což je ekvivalent toho když v linuxu před příkaz napíšete sudo. Chování je to tedy naprosto stejné ale u windows se nikdo nepozastavuje nad tím, proč není přihlášen pod Administratorem.