GNU/Linux >> Znalost Linux >  >> Ubuntu

Rozdíl mezi sudo a su vysvětlen

Úvod

sudo a su příkazy patří do skupiny příkazů, se kterými se setká každý uživatel Linuxu. Protože jsou si podobné v syntaxi a mají překrývající se funkce, mnoho nových uživatelů si není jisto, kdy použít jeden přes druhý.

V tomto tutoriálu se dozvíte vše o rozdílech mezi su a sudo .

sudo vs su

Oba su a sudo zvýšit oprávnění přiřazená aktuálnímu uživateli.

Hlavní rozdíl mezi těmito dvěma je, že su vyžaduje heslo cílového účtu, zatímco sudo vyžaduje heslo aktuálního uživatele. Proto je mnohem bezpečnější použít sudo protože nezahrnuje výměnu citlivých informací.

Navíc je vhodné držet se sudo při provádění úloh, které vyžadují oprávnění root. Tímto způsobem získá aktuální uživatel oprávnění pouze pro zadaný příkaz. Na druhou stranu su zcela přepne na uživatele root a vystaví celý systém potenciálním náhodným změnám.

Jak používat příkaz su

su příkaz znamená náhradní uživatel a většinou se používá pro přepínání z jednoho uživatele na druhého. Provádí to spuštěním přihlašovacího shellu v aktuálním adresáři a prostředí (su ) nebo úplnou změnou nastavení cílového uživatele (su - ).

Hlavní syntaxe je:

su [user_name]

nebo

su - [user_name]

Pokud je příkaz použit bez argumentu, přepne se na superuživatele (root ) účet.

Jak funguje příkaz su?

Chcete-li vyvolat shell jiného uživatele v pracovním adresáři/uživatelském prostředí, použijte su příkaz (bez pomlčky).

Chcete-li například pracovat jako uživatel s názvem phoenixnap , spustit:

su phoenixnap

Poté zadejte heslo pro phoenixnap účtu a stiskněte Enter .

Shell by se měl změnit a zobrazit, že nyní máte přístup operátora k určenému účtu. Uživatelské prostředí však zůstává stejné, jako na obrázku níže:

Jak funguje příkaz su – [pomlčka]?

Chcete-li přejít k jinému uživateli a přepnout na toto cílové uživatelské prostředí, použijte su - příkaz.

Proto přepněte na fénixnap uživatele a přesuňte se do jeho přihlašovacího prostředí, zadejte příkaz:

su - phoenixnap

Zadejte heslo pro phoenixnap účtu a stiskněte Enter potvrdit. Výstup by měl vypadat podobně jako na následujícím obrázku:

Jak používat příkaz sudo

sudo se používá jako předpona příkazů Linuxu, která umožňuje přihlášenému uživateli spouštět příkazy vyžadující oprávnění root. Na rozdíl od su , sudo příkaz v Linuxu vyžaduje zadání hesla pro uživatele spouštějícího příkaz.

Všechny administrativní a spustitelné úlohy vyžadují maximální oprávnění (držené uživatelem root). V takových případech se doporučuje použít sudo .

Hlavní syntaxe je:

sudo [command]

Než systém provede příkaz, požádá o heslo aktuálního uživatele.

Mějte na paměti, že sudo tuto možnost mohou používat pouze uživatelé, kteří patří do skupiny sudoers skupina.

Přidání uživatele do skupiny Sudoers

Aby uživatel mohl provést příkaz, který vyžaduje sudo prefix, musí být součástí sudoers skupina.

Chcete-li přidat uživatele do sudoers group, spusťte následující příkaz (jako root nebo účet, který již má oprávnění sudo):

usermod -aG sudo [user_name]

Chcete-li například přidat účet phoenixnap , napsali byste:

sudo usermod -aG sudo phoenixnap

Chcete-li zobrazit seznam účtů, které patří do skupiny sudoers, spusťte:

sudo getent group sudo

Výstup by měl zobrazovat účet přidaný v předchozím kroku:

Jak sudo a su fungují v různých distribucích Linuxu

su je starší, ale plně vybavený příkaz, který je součástí všech distribucí Linuxu. Je to tradiční způsob přepnutí na účet root.

Linux nedoporučuje pracovat jako root, protože to může způsobit nežádoucí změny v celém systému, a navrhuje použití sudo namísto. Z tohoto důvodu všechny založené na Ubuntu vydání jsou pouze sudo , což znamená, že účet root není ve výchozím nastavení aktivní.

Při instalaci operačního systému Ubuntu vytvoříte uživatele automaticky označeného jako součást skupiny sudoers. Neexistuje však nastavení účtu root. Chcete-li povolit uživatele root, musíte jej aktivovat ručně.

Na druhou stranu jiné distribuce Linuxu, jako je Fedora, si po instalaci vytvoří root a uživatelský účet.

Povolení účtu root

Pokud používáte distribuci založenou na Ubuntu a pokusíte se přepnout na uživatele root, výstup vás informuje, že došlo k selhání ověření .


Chcete-li aktivovat uživatele root, spusťte příkaz passwd:

sudo passwd root

Dále výstup požádá o nastavení hesla pro uživatele root. Zadejte a znovu zadejte zabezpečené heslo a poté stiskněte Enter. Systém by vás měl upozornit, že heslo bylo úspěšně aktualizováno.

Ověřte, že je uživatel root aktivní, přepněte na něj jeho přihlašovací shell pomocí su - .

Další funkce

Ačkoli sudo je hlavně spojen se spouštěním příkazů s právy root, lze jej také použít ke změně uživatele root. Přepněte na uživatele root a získejte prostředí root pomocí:

sudo -i

Zadejte heslo aktuálně používaného uživatele. Nyní byste měli být v kořenovém prostředí.

Podobně su může také fungovat jako sudo a spusťte jeden příkaz jako root:

su -c [command]

Ubuntu
  1. Rozdíl mezi uživatelským a servisním účtem?

  2. Centos – Rozdíl mezi vypnutím v 18:00 a vypnutím v 18:00?

  3. Jaký je rozdíl mezi normálním uživatelem a systémovým uživatelem?

  1. Jaký je rozdíl mezi Ddrescue, Gddrescue a Dd_rescue?

  2. Rozdíl mezi Update-grub a Update-grub2?

  3. Rozdíl mezi Lubuntu a Lxde?

  1. Rozdíl mezi [[ $a ==Z* ]] a [ $a ==Z* ]?

  2. Jaký je rozdíl mezi ls a l?

  3. Jaký je rozdíl mezi unlink a rm?