Jaký je rozdíl mezi sudo a su?

Před několika dny jsem dostal dotaz od Miguela, pravidelného čtenáře blogu a nutkavého komentátora, týkajícího se jaký přesně je rozdíl mezi sudo y su. Miguela zejména znepokojovalo, zda je jedna metoda bezpečnější než druhá. Stává se, že jsem to tam četl sudo nebyl dostatečně bezpečný a chtěli vědět víc. Toto je další příspěvek věnovaný těm, kteří požádali o více článků o terminální tajemství.

Su

Program su umožňuje použít shell jiného uživatele bez odhlášení z aktuální relace. Běžně se používá k získání oprávnění root pro administrativní operace, aniž byste se museli odhlásit a znovu vstoupit do systému. Některá desktopová prostředí, včetně GNOME a KDE, mají programy, které graficky požadují heslo, než umožní uživateli provést příkaz, který by takový přístup obvykle vyžadoval.

Název su pochází z angličtiny svšudypřítomný ubýt (náhradní uživatel). Jsou také takoví, kteří to dělají superuser (superuživatel, tj. uživatel root nebo správce), protože se obvykle používá k převzetí role správce systému.

Když běžíš, su Požádá o heslo k účtu, ke kterému chcete získat přístup, a pokud je přijato, poskytuje přístup k tomuto účtu.

[guy @ localhost] $ vaše heslo: [root @ localhost] # odhlášení odchodu [guy @ localhost] $

Pokud uživatele nezadáte, přistupuje se k němu jako ke správci. Je však také možné předat jiné uživatelské jméno jako parametr.

[guy @ localhost] $ su mongo Heslo: [mongo @ localhost] # odhlášení odchodu [guy @ localhost] $

Po zadání hesla můžeme provádět příkazy, jako bychom byli druhým uživatelem. Při psaní výstup, vracíme se k našemu uživateli.

Široce používanou variantou je použití su následovaná pomlčkou. Abyste se mohli přihlásit jako root, musíte vstoupit su - a přihlásit se jako jiný uživatel váš - jiný uživatel. Rozdíl mezi používáním skriptu nebo ne? Doporučuje se použít skript, protože simuluje, že se budete přihlašovat pomocí daného uživatele; proto provede všechny spouštěcí soubory daného uživatele, změní aktuální adresář na HOME daného uživatele, změní hodnotu některých systémových proměnných a přizpůsobí je novému uživateli (HOME, SHELL, TERM, USER, LOGNAME, mimo jiné) a ostatní více věcí.

Sysadmin by měl být při výběru hesla pro účet root / administrátor velmi opatrný, aby se vyhnul útoku spuštěného neprivilegovaného uživatele su. Některé systémy podobné Unixu mají skupinu uživatelů s názvem kolo, který zahrnuje pouze ty, kteří mohou vykonávat su. To může nebo nemusí snížit obavy o zabezpečení, protože vetřelec by mohl jeden z těchto účtů jednoduše převzít. On su GNU však použití této skupiny nepodporuje; to bylo provedeno z filozofických důvodů.

Sudo

Související příkaz, tzv sudo, provede příkaz jako jiný uživatel, ale respektuje řadu omezení, podle kterých mohou uživatelé provádět které příkazy jménem ostatních uživatelů (obvykle zadané v souboru / etc / sudoers).

Na druhou stranu, na rozdíl od su, sudo vyzve uživatele k zadání vlastního hesla namísto požadovaného uživatele; to umožňuje delegování příkazů na uživatele na jiných počítačích bez nutnosti sdílení hesel, což snižuje riziko ponechání terminálů bez dozoru.

Problémy se sudem: období odkladu

Výhodou sudo ve vztahu k su je, že provede pouze požadovaný příkaz předstírá, že je druhým uživatelem, aniž by ve skutečnosti změnil aktuálního uživatele. To znamená, že je možné provést příkaz jako správce a v další sekundě bude mít oprávnění uživatele, kterého používal dříve ... nebo téměř.

Někteří vidí narušení bezpečnosti skutečnost, že sudo udělit "období odkladu", které uživateli umožňuje vykonávat příkazy jako jiný uživatel bez nutnosti opakovaně zadávat sudo před příkaz a heslo po jeho provedení. Po tomto „období odkladu“, sudo nás znovu požádá o heslo.

To je „špatné“, v podstatě proto, že by někdo mohl převzít náš počítač poté, co jsme zadali heslo sudo a během aktivní „odkladné lhůty“ udělat KATASTROFU.

Naštěstí je možné deaktivovat „ochrannou lhůtu“, což zlepší zabezpečení vašeho systému. Stačí přidat jeden řádek do souboru / etc / sudoers:

sudo nano / etc / sudoers

A na konec souboru přidejte následující řádek:

Výchozí: ALL timestamp_timeout = 0

Změna se projeví okamžitě, bez nutnosti restartovat systém.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   ahoj řekl

    Ve skutečnosti, POKUD můžete vstoupit s administrátorskými právy pomocí sudo a zůstat tam jako se su -, musíte napsat: sudo -s, čímž změníte aktuálního uživatele a ponecháte milost jako vtip (protože Můžete zůstat jako to tak dlouho, jak chcete, jako u vašeho)

  2.   Miquel Mayol a Tur řekl

    Děkuji za zmínku, ale skutečný kredit připadá chatu Sabayon - který už nepoužívám, protože se mi zlomil pevný disk a raději jsem se vrátil k Ubuntu -.

    Důvod, který mi dali, byl ten, že někdy při provádění sudo určitých konfigurací nedostanou absolutní oprávnění a zůstanou nesprávně nakonfigurováni. A tím, že se „přihlásíte“ pomocí su jako root pro úlohy aktualizace a údržby, tomu zabráníte.

    Potom jsem vám poslal e-mail, protože jsem slíbil, že se podělím o toto zjištění, které se mi zdálo nepodstatné.

    Protože je Ubuntu ve výchozím nastavení nainstalován bez uživatele root, stačí spustit

    "Sudo passwd root"

    zadejte heslo, potvrďte ho a poté
    "Kořen"
    pro operace údržby, kromě toho, že se vyhnete uvedení sudo s každou objednávkou.

    V zásadě je v Ubuntu účet root odstraněn, aby se s tímto účtem vždy nepřihlásil, ale protože mi dali radu téměř v tónu, že použití sudo bylo svatokrádež, jen pro případ, že jsem to následoval.

  3.   Žádný ukazatel řekl

    Mohli byste vstoupit do souboru / etc / shadow a změnit hash hesla root na hash normálního hesla uživatele a poté provést změnu hesla pro root ??? Jindy zkusím totéž….

  4.   Pojďme použít Linux řekl

    Průhledná. Není to exkluzivní pro Fedoru.

  5.   mfcollf77 řekl

    Pak je lze nainstalovat ze dvou? Myslel jsem, že «SU» je jen ve FEDORA.

  6.   Diego Kisai Alba Gallart řekl

    Velmi dobrá informace, díky čemuž jistě pochybnosti mnoha lidí zmizí, protože znám několik, kteří o tom pochybují.

  7.   Alex řekl

    V ubunto si myslím, že si pamatuji, že nemůžete použít příkaz su (pro zadání jako uživatel root)

  8.   Hazan Pérez řekl

    Chcete-li „obnovit“ heslo root (ve skutečnosti jakékoli jiné heslo), můžete provést „útok“ na soubor systémového hesla pomocí nástroje John The Ripper. Nebudu o tom říkat více.

    Možná existují i ​​jiné metody ... Možná změna hesla zadáním pomocí „sudo su“ a poté příkazu „passwd“. Bylo by zajímavé sledovat, co ostatní lidé reagují ...

  9.   Pojďme použít Linux řekl

    Přesně!

  10.   Pojďme použít Linux řekl

    To je pravda ... Musím poděkovat Miguelovi Mayolovi i Turovi ... on byl ten, kdo měl ten nápad. 🙂
    Na zdraví! Pavel.

  11.   Šéf řekl

    Děkuji, jako vždy skvělý příspěvek, vážíme si toho.

  12.   Pojďme použít Linux řekl

    Děkuji šéfe! Objetí! Pavel.

  13.   Jerome Navarro řekl

    Rozdíl mezi „su“ a „sudo“ je „dělat“

  14.   Erick řekl

    Zapomněl jsem heslo root, naštěstí mohu použít sudo a pro použití su používám 'sudo su' a nepožaduje povolení (?)
    Ví někdo, jak zjistit heslo root (mám přístup do root přes sudo)?

    1.    marvergarab řekl

      sudo passwd

  15.   Pojďme použít Linux řekl

    Ha! Velmi chytrý!

  16.   Fabián Pais řekl

    ten, kdo chce obnovit heslo root, bude „sudo passwd root“ a tam vás požádá o zadání nového

  17.   alex-pilloku@hmail.com řekl

    ahoj, jaký je tvůj život

  18.   SynFlag řekl

    Omlouváme se, ale pomocí příkazu su takto:

    su -c "příkaz", je stejné jako použití sudo bez ochranné lhůty. Nevidím potřebu sudo.

    SKUTEČNÉ použití sudo je dát určitým uživatelům možnost používat ten či onen příkaz, používá se častěji ve společnostech, aby nemusel chrootovat, což se u su nedá.

  19.   yacardis řekl

    Vážení, musím udělat Linux TP a musím odpovědět na několik jednoduchých otázek. Možná mi mohou pomoci. Díky od teď:

    Jaký příkaz nám umožňuje instalovat / mazat / upravovat balíčky debian?
    Jaký je příkaz, který nám umožňuje snadnější správu instalace
    balíčky v debian?
    Jaký je příkaz k instalaci balíčků rpm?
    Jakou možnost použijeme k odinstalování balíčku?
    Jaký je adresář, kde jsou umístěny úložiště yum?
    K čemu je mňam?
    Jakou možnost použijeme k hledání balíčku s yum?
    Jakou možnost použijeme k odstranění balíčku?
    Jakou možnost můžeme použít k aktualizaci systému?
    Jaká písmena označují povolení?
    Co každý z nich znamená?
    Jaké příkazy uvádějí oprávnění souboru?
    Jaké jsou tři skupiny, ve kterých jsou oprávnění rozdělena?
    Jaké dva způsoby existují k implementaci oprávnění?
    Jaký číselný systém používají povolení?
    Jakou váhu mají tato písmena?
    Co jsou zvláštní povolení?
    Jaká jsou stávající zvláštní oprávnění a k čemu jsou uživatelé?
    Jaké příkazy používám ke změně oprávnění?
    Jaké parametry mohu použít k udělení oprávnění ke spuštění souboru?
    Jaké parametry se používají k udělení oprávnění ke čtení pouze skupině?
    Jaké parametry se používají k udělení oprávnění ke čtení a zápisu do skupiny ostatním ak odebrání zápisu od uživatele, který soubor vlastní?
    Jaká oprávnění jsou ve výchozím nastavení vytvořena pro soubory a adresáře?
    Jaký příkaz použijeme k jeho ověření?
    Jak změníme výchozí masku?
    Jak můžeme odlišit použitou masku? (Použijte výchozí masku, která vlastníkům ponechává pouze všechna oprávnění.)
    Jaký příkaz uvádí procesy? Uveďte různé parametry a jejich použití.
    Jaký je proces, který všechno začíná?
    Seznam procesů, které odpovídají přihlášenému uživateli.
    Seznam všech procesů systému.
    Jaké možnosti mohu použít k získání dalších informací?
    Seznam všech procesů, které se používají v terminálu
    Která možnost uvádí procesy a jejich závislosti?
    Vysvětlete, co je proces rodič-dítě a jak ho identifikovat
    Který příkaz uvádí procesy ve formě stromů?
    Jaký příkaz sleduje procesy v reálném čase?
    Monitorujte pouze jeden proces
    Jaký příkaz ukazuje využití paměti?
    Jaký parametr zobrazuje paměť v megabajtech?
    Jaký parametr to dělá v intervalech?
    Který příkaz zobrazuje informace o době, kdy je tým vzhůru?
    Jaký příkaz používám k zabíjení procesů?
    Co tyto procesy zpracovávají, aby mohly být dokončeny?
    Jaké typy signálů jsou nejběžnější?
    Seznam typů podporovaných signálů.
    V terminálu proveďte test vi a poté přejděte k jinému terminálu, vyhledejte proces a zabijte jej signálem 15. Totiž, ale signálem 9.
    Jaký je rozdíl mezi signálem 9 a 15?
    Který z nich funguje ve výchozím nastavení?
    Proč je proces spuštěn na pozadí? A v popředí?
    Spusťte vi test a poté stiskněte ctrl + z, co se stalo?
    Opakujte vi test, ctr + z, 4krát, jak dokončím to, co se mi nepodařilo?
    Předejte jeden z procesů do popředí a zavřete vi.
    Jaký parametr příkazu provedeme, aby neobsadil shell?
    Jaký příkaz upravuje priority procesu, který již běží? Jak byste změnili prioritu spuštěného terminálu?
    Jaké hodnoty úrovní existují a jaká je jejich hierarchie?
    Otevřete soubor / etc / passwd a podívejte se, jakou má prioritu.
    Změňte úroveň priority na 4 a poté na 25 Mohli byste přiřadit obě? Proč?
    Seznam procesů s hodnotami jejich priority.
    Jaký příkaz sleduje všechny běžící procesy?

  20.   atd. řekl

    Dobrý den, chci deaktivovat sudo, stejně jako já. Dostávám toto:
    [sudo] heslo pro xxx:
    xxx není v souboru sudoers. Tato událost bude nahlášena.

    jak to deaktivuji, protože používám su v debian

    1.    pojďme použít linux řekl

      Ahoj ecc!

      Myslím, že by bylo lepší, kdybyste tuto otázku nastolili v naší volané službě pro otázky a odpovědi Dotázat se DesdeLinux aby vám celá komunita mohla pomoci s vaším problémem.

      Objetí, Pable.

  21.   Berthold řekl

    Ahoj. V Linux Mint jsem použil příkaz teploty pevného disku: 'sudo hddtemp / dev / sda', zeptá se mě na heslo a dá mi očekávaný výsledek.
    ale pak při provádění ve stejném terminálu 'hddtemp / dev / sda' mi říká, že povolení odepřeno.
    Ochranná lhůta na mě tedy nefunguje, proč?

  22.   Berthold řekl

    Ahoj blog.
    Také jsem zjistil, že když je nainstalován distro (např. Ubuntu, linux mint), požádá o heslo správce.
    A v grafickém rozhraní řídicího centra jsem použil možnost změnit heslo svého uživatele.
    Takže nyní pomocí "su -" žádá o heslo, které není heslo mého aktuálního uživatele, ale heslo, které jsem použil při instalaci distra, což je stále uživatel root nebo správce.
    To by vedlo k tomu, že mnoho uživatelů zapomene skutečné heslo správce.

  23.   Kendall Davila řekl

    Dobrý den, vaše vysvětlení je vynikající, velmi jasné, stručné a výstižné. Díky za vstup