GNU/Linux >> Znalost Linux >  >> Linux

Proč se heslo 'sudo' liší od hesla 'su root'

Na rozdíl od toho, co by vás jejich nejběžnější použití vedlo k myšlence, su a sudo nejsou určeny pouze pro přihlášení (nebo provádění akcí) jako root.

su umožňuje změnit vaši identitu s identitou někoho jiného. Z tohoto důvodu, když zadáte su , systém potřebuje ověřit, že máte přihlašovací údaje pro cílového uživatele, na kterého se pokoušíte změnit.

sudo je trochu jiný. Pomocí sudo umožňuje spouštět určité (nebo všechny, v závislosti na konfiguraci) příkazy jako někdo jiný. Vaše vlastní identita se používá k určení typů příkazů sudo bude pro vás běžet pod identitou někoho jiného:pokud jste důvěryhodný uživatel (v tom smyslu, že vám sysadmin důvěřuje), budete mít více volného pohybu než například stážista. To je důvod, proč sudo potřebuje ověřit vaši vlastní identitu spíše než identitu cílového uživatele.

Jinými slovy, snaží se su pro někoho, kdo nejste, je jako pokoušet se strhnout nákupy na odcizenou kreditní kartu při použití sudo je jako prodávat auto svého přítele prostřednictvím zákonného zástupce.

Pokud jde o to, o co jste se pokoušeli, stačí sudo su root , nebo ještě jednodušeji sudo su a zadejte své běžné uživatelské heslo. To by se zhruba rovnalo nahrazení přihlašovacích údajů ke kreditní kartě vašeho přítele vašimi vlastními pomocí právního zástupce, který vám dali :). Samozřejmě předpokládá sudo konfigurace umožňuje spouštět su s eskalovanými oprávněními.

Také systémy, které jsou předkonfigurovány s sudo přístup má obvykle zakázaný účet root (bez hesla uživatele root), můžete to povolit pomocí passwd příkaz poté, co se stanete rootem pomocí sudo su .


Je konfigurovatelný*, ale ve výchozím nastavení vás „sudo“ požádá o vaše heslo. Jen se snaží ujistit, že jste to vy, a ne někdo, kdo používá vaši klávesnici, když jste si pili kávu.

Naproti tomu "su root" vás požádá o heslo uživatele root.

*Pokud je targetpw v /etc/sudoers false (výchozí), "sudo" vás požádá o vaše heslo. Pokud je to pravda, pak se vás "sudo" zeptá na heslo uživatele root nebo, pokud jste zadali jiného uživatele pomocí volby "-u", heslo tohoto uživatele.


sudo se používá k dočasné eskalaci uživatelských oprávnění na kořenovou úroveň, zatímco su root se používá k vytvoření nového shellu s uživatelem root;


Linux
  1. Jak obnovit heslo pro sudo v Debianu

  2. Jak změnit heslo root mysql

  3. Jak přinutím sudo, aby požádal o heslo uživatele root?

  1. Jak fungují vnitřnosti sudo?

  2. Proč je kořenový adresář označen znakem /?

  3. Proč je maximální délka rootova hesla OpenWrt 8 znaků?

  1. Proč potřebuje uživatel root oprávnění sudo?

  2. Změnit root heslo pomocí Sudo, bez Su?

  3. Jaký je rozdíl mezi root a sudo?