Co je to sudo a proč se nejde přihlásit na roota ?

Message
Autor
Uživatelský avatar
Austin
Site Admin
Příspěvky: 1251
Věk: 37
Registrován: 07 pro 2009, 23:58
Reputation: 4
Kontaktovat uživatele:

Co je to sudo a proč se nejde přihlásit na roota ?

#1 Příspěvekod Austin » 24 říj 2017, 16:15

Neustále pořád dokola řešíme lidi, co absolutně nemají tušení co je to "sudo" a ať jim okamžitě dáme heslo na roota jinak ať jim okamžitě vrátíme peníze že vps bez roota nechcou, že je jim to k ničemu když tam nic nejde dělat.
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
nebo

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
a nové heslo na roota nastavit.

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
POZOR NA # na začátku řádku, nesmí tam být. A poté restartovat ssh server příkazem

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.
FakaHeda.eu - Administrátor, http://www.minecraft-hosting.cz, http://www.bf3-hosting.cz Pište nám tickety, ne PM.
Nezapomeňte dát karmu těm, kteří Vám pomohli s problémem

ZiDyPL
Příspěvky: 295
Registrován: 13 dub 2015, 22:01
Reputation: 17

Re: Co je to sudo a proč se nejde přihlásit na roota ?

#2 Příspěvekod ZiDyPL » 24 říj 2017, 16:43

Ahoj, zajímalo by mě jedno:
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.

Jaký je tedy rozdíl mezi bytím přihlášen za roota a používáním sudo? Pokud používáte sudo, tak si přeci taky jedním příkazem můžete zničit OS, nebo mi něco uniká?

Uživatelský avatar
Austin
Site Admin
Příspěvky: 1251
Věk: 37
Registrován: 07 pro 2009, 23:58
Reputation: 4
Kontaktovat uživatele:

Re: Co je to sudo a proč se nejde přihlásit na roota ?

#3 Příspěvekod Austin » 26 říj 2017, 15:22

Protože sudo typicky nepíšeme před každým příkazem. Při normální práci práva roota nepotřebuju. Když pak spustíte třeba nějaký skript co si stáhnete někde z netu a v tom skriptu je např typické rm -rf /, tak pokud jste pod uživatelem, smažete si maximálně svoje data, pokud jste pod rootem, smažete si celý OS.
chown -R 777 / - přímo věc kterou jsem osobně zažil u jednoho zákazníka, přenastavení práv takovýmto způsobem a OS ani nenabootuje, kdyby nebyl přihlášen za roota, nic takového by se nestalo.
FakaHeda.eu - Administrátor, http://www.minecraft-hosting.cz, http://www.bf3-hosting.cz Pište nám tickety, ne PM.
Nezapomeňte dát karmu těm, kteří Vám pomohli s problémem

ZiDyPL
Příspěvky: 295
Registrován: 13 dub 2015, 22:01
Reputation: 17

Re: Co je to sudo a proč se nejde přihlásit na roota ?

#4 Příspěvekod ZiDyPL » 28 říj 2017, 14:11

Děkuji za vysvětlení, zkrátka pokud je člověk idiot, ať na roota neleze.


Zpět na „Návody“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti