Co to sudo znamená a co dělá?

„Může mi někdo říct, co to znamená sudo?“ Učím se Linux. Vygooglil jsem se, ale může mi někdo dát srovnání Windows , myslím, že mi to trochu pomůže. Vím, že su znamená přepnout uživatele. sudo je jiný uživatel, ale jak a proč? Proč si nemůžete udělit oprávnění pod svým uživatelským jménem?

Komentáře

  • V systému Windows, pokud si ‚ Nemáte administrátorská práva, musíte zadat jméno a heslo pro účet, který také funguje. Můžete si samozřejmě dát oprávnění pod svým uživatelským jménem, není to chytré, jako každý program, který váš běh pak může upravit vše, k čemu máte oprávnění. To je jeden z důvodů, proč byl Windows tak dlouho nebezpečný.
  • @KnowledgeBeyondMe: Co je to s předmětem otázky? Změňte to na něco smysluplného.
  • ok, tak se podívejme, jestli tomu rozumím. Místo lidí, kteří mají administrátorské účty, má každý potenciál být administrátorem pomocí uživatelského jména sudo. Použitím tohoto uživatelského jména sudo však akce vám budou přihlášeny zpět, protože je to jako sakra z vašeho skutečného účtu uživatelského jména. Pokud je to tak, opravdu se mi to líbí. Šetří to spoustu času. Don ‚ nemusíš čekat, až k tobě někdo s oprávněním přijde a přidá software a tiskárny atd.

Odpovědět

sudo umožňuje spustit program jako superuživatel root . Používáte-li jej místo su,

  1. nemusíte znát heslo root, protože vás požádá o heslo,
  2. výslovně víte, jaké příkazy budou spuštěny jako root a které ostatní jako vy. Pokud používáte su, máte shell a můžete neúmyslně spustit některé (nebezpečné) programy a
  3. všechny vaše akce se přihlásí do auth.log soubor. Akce v prostředí, jako je například akce iniciovaná su , se obvykle nezaznamenávají .

Proč si prostě nemůžete dát oprávnění pod svým uživatelským jménem?

Pro bezpečnostní důvody, kořenový účet se zřídka používá pro každodenní účely . Obvykle všichni uživatelé, včetně správců, používají „normálního“ uživatele a provádějí pouze příkazy jako root, když je to potřeba. To může zabránit (1) neoprávněnému přístupu k souborům jiných uživatelů, (2) nepřihlášeným akcím root a (3) problémům způsobeným spuštěním „nebezpečných“ programů.

Tam je obdobou Wikipedie , kterou můžete zvážit:

  • Používání účtu root je spíše jako být Supermanem; běžný správce uživatel je spíš jako Clark Kent. Clark Kent se stává Supermanem jen na nezbytně nutnou dobu, aby zachránil lidi. Poté se vrátí ke svému „převleku“. Root access by měl být použit stejným způsobem. Přestrojení Clarka Kenta ho ve skutečnosti nijak neomezuje, protože je stále schopen využívat své supervelmoci. To je analogické s používáním programu sudo.

Komentáře

  • Používání sudo je spíše jako být Goofy, dokud nesníte super arašídy, které z vás udělají Super Goof. Vaše super síly se po vypršení časového limitu vyčerpají 15 minut), po které budete vyzváni k zadání nového arašídu … ehm, vašeho hesla.
  • ok, tak se podívejme, jestli tomu rozumím. Místo lidí, kteří mají účty administrátora, má každý potenciál být administrátorem pomocí uživatelského jména sudo. Použitím tohoto uživatelského jména sudo však budou vaše akce zaznamenány zpět k vám, protože je to jako sakra z vašeho skutečného účtu uživatelského jména. Pokud je to tak, opravdu se mi to líbí. Šetří tuny času. Nemusíte ‚ čekat, až k vám někdo s oprávněním přijde a přidá software a tiskárny atd.
  • @KnowledgeBeyondMe Každý má silný Chcete-li být správcem, musíte být autorizováni uvedením v seznamu /etc/sudoers. Existují další výhody sudo oproti su, ale hlavním bodem sudo je, že se autentizujete pomocí svého vlastního hesla. Sdílená hesla jsou špatná.
  • Musíte autorizovat lidi, včetně lidí do /etc/sudoers nebo pomocí jiných technik , spustit sudo. Obvykle neautorizujete všechny lidi, pouze administrátory systému.

Odpověď

Ve výchozím nastavení ve většině Unices , „administrátorský“ účet, root, má být používán pouze omezeně. V normálním systému Unix existují pouze dvě úrovně administrátorských nebo „superuživatelských“ práv: Máte buď úplnou kontrolu vše , nebo nemáte.

„Plná kontrola“ zahrnuje obcházení většiny kontrol oprávnění a úplné pokazení systému jednoduchým nesprávným zadáním. Jako běžný uživatel můžete smazat maximálně pouze své vlastní soubory.

Starší nástroj su se používá společně s heslem uživatele root k převzetí identity uživatele root, ale lze je také použít k převzetí identity jiných uživatelů nebo k provedení jednotlivých příkazů jako oni, protože patříte do správné skupiny uživatelů a znáte jejich hesla.

su se běžně používá kořenový uživatel (v některých systémech Unix) ke spuštění démonů (servisních procesů), které musí běžet pod určitou identitou uživatele, aby byl chráněn před přístupem do oblastí že by k nim neměli mít přístup (obvykle webové servery, SSH server a podobně). To lze provést ve spouštěcích skriptech, protože se systém zavádí.

su se zřídka používá interaktivně (na příkazovém řádku).

Obslužný program sudo vyžaduje trochu více konfigurace, protože umožňuje uživateli provádět příkazy jako jiné uživatele pomocí vlastního hesla (což znamená, že například heslo uživatele root není třeba sdílet) a také umožňuje jemně kontrolovat, kdo má co přesně dělat. Dalo by se například dát jednomu uživateli nebo celé skupině uživatelů možnost připojit určitý disk, ale neodpojit ho nebo připojit jiné disky, nebo nainstalovat software pomocí konkrétních příkazů atd. Opět platí, že sudo umožňuje převzít identity jiných uživatelů (nejen root) pro interaktivní relace nebo pro provádění jednotlivých příkazů (pokud byla konfigurace nastavena tímto způsobem jinou osobou s rootem oprávnění).

Obvykle by se spouštěly jednotlivé příkazy pomocí sudo (odtud název „superuser do“):

$ sudo apt-get install vim 

nebo

$ sudo shutdown -ph now 

Tímto způsobem se dává přednost použití sudo před sudo -s a pracujte s interaktivním kořenovým shellem, protože příkazy, které provádíte, jsou protokolovány. jeden může později sledovat akce v souboru protokolu a zjistit, kde (a kdo) něco udělal, ať už ladění nebo pro auditování.

Pokud zjistíte, že jste typi Pokud budete po delší dobu pryč s interaktivním příkazovým řádkem root, měli byste znovu zvážit, co děláte a zda to opravdu vyžaduje oprávnění root.

Jako příklad lze uvést jediný čas, kdy I vyvolat interaktivní kořenovou výzvu je při přidávání běžného uživatele pro sebe na čerstvě nainstalovaném počítači, nebo když opravdu mám nějaké vážné problémy, které mi brání dokonce se přihlásit jako běžný uživatel.


OpenBSD (od verze 5.8) má nástroj s názvem doas, který nahrazuje sudo ve výchozí instalaci systému. Byl vyvinut, když bylo jasné, že sudo se stal příliš složitým, aby odpovídal cílům stanoveným vývojáři OpenBSD. Jeho použití je podobné jako u sudo, , ale konfigurace je jednodušší .

Odpověď

V dřívějších verzích Unixu bylo nejběžnějším scénářem přihlášení pomocí terminálu bez okenního systému. Příkaz su (náhradní uživatel) byl pohodlný způsob, jak změnit aktuální oprávnění bez odhlášení. Pamatujte si, že bez odhlášení ze systému znamenalo odhlášení zastavit vše, co jste měli spuštěné.

Používání su jako root se stalo nepříjemným problémem. Lidé občas zapomněli ukončit relaci a omylem spustit příkazy jako root. Změna hesla pro správu byla komplikována skutečností, že jste je museli distribuovat všem, kdo je potřebovali. Většina systémů nezaznamenala každý příkaz, takže bylo těžké zjistit, kdo co udělal, jako root. A tak dále.

Sudo tyto problémy vyřešil tím, že nechal lidi spustit jeden jediný příkaz jako root. Poskytuje lepší audit a kontrolu a zároveň je o něco pohodlnější pro jednorázové příkazy.

Odpověď

ok, dovolte mi tedy zjistit, jestli tomu rozumím. Místo lidí, kteří mají účty správce, má každý potenciál být administrátorem pomocí uživatelského jména sudo. Použitím tohoto uživatelského jména sudo se však vaše akce přihlásí zpět k vám, protože je to jako sakra z vašeho skutečného účtu uživatelského jména. Pokud je to tak, opravdu se mi to líbí. Šetří spoustu času. Nemusíte čekat, až k vám někdo s oprávněním přijde a přidá software a tiskárny atd.

Komentáře

  • sudo je obslužný program, nikoli uživatelské jméno. Někdo vám přesto musí dát právo používat sudo. Toto právo může být omezeno na použití konkrétní příkazy nebo k použití sudo k převzetí konkrétní jiné identity uživatele. sudo lze použít k přepnutí na jiné role než jen root.
  • ach, je to jako organizační skupiny služby Active Directory? Máte své vlastní uživatelské jméno s oprávněními, ale pokud vám budou udělena oprávnění, můžete přistupovat k oprávněním specializované organizace. Organizace ORG v tomto smyslu by byla nástrojem SUDO?
  • Nevíte, co je “ Active Directory „, ‚ tomu s jistotou říci ano nebo ne.
  • Kontrolní mechanismus pro práva a role v oknech.
  • Ne, sudo není skupina ani uživatelský účet. – Ve Windows, Active Directory a LDAP můžete definovat skupiny uživatelů. V systému Linux můžete také definovat skupiny uživatelů. Například váš linux obvykle má skupinu admin. Každý uživatel může patřit do primární skupiny a několika sekundárních skupin . – sudo můžete autorizovat všem členům skupiny . Pokud zaškrtnete /etc/sudoers, autorizované skupiny mají předponu %.

Odpovědět

sudo vám umožní spustit program jako jiný uživatel (včetně root) na základě konfigurovatelné, předdefinované sady pravidel.

Zapnuto root systému Unix / POSIX / Linux je bůh. Uživatel root je také singulární.

V mnoha prostředích existuje několik správců, kteří mohou vyžadovat úplný přístup root, ale mohou existovat i jednotlivci, kteří vyžadují přístup k provádění určité specifické funkce, obvykle vyhrazené pro root; DBA potřebují zastavit a spustit služby DB, upravovat konfigurační moduly DB, správci sítě potřebují konfigurovat síťová zařízení a trasy, správci zabezpečení potřebují spravovat certifikáty a konfigurovat brány firewall.

Omezením toho, jaké příkazy může člověk spustit, použije sudo princip nejmenšího oprávnění – uživatelé nemají přístup, který nepotřebují. Není to však jen omezení binárních souborů, které uživatelé provozují. Mnoho administrátorských úkolů se provádí z příkazového řádku – a parametry předané tomuto příkazu mohou být také omezeny sudo (nebo zachyceny ve skriptu shellu s přístupem poskytovaným sudo), proto je možné omezit data / zařízení, která tyto specializované administrátoři mají přístup.

Proč si nemůžete dát oprávnění pod svým uživatelským jménem?

1) to by bylo špatné.

  • V systémech jsem často měl přístup ke kořenovému účtu – ale vždy jsem nastavil pojmenovaný účet, který bude použit pro přihlášení , a pouze „su“ nebo „sudo“, když chci výslovně vyvolat své supervelmoci. Kromě toho, že se vyhnu hloupým chybám, můj pojmenovaný účet poskytuje karanténu pro všechny nesprávně fungující komponenty.

  • co když existuje 5 lidí, kteří potřebují privilegovaný přístup, udělám to každému a co? Co asi 20? co asi 200?

2) toto by bylo obtížné

  • není to bezpečnostní model Unixu. Určitě můžete změnit oprávnění u některých spustitelných souborů (viz dřívější poznámka o parametrech). Pokud jste si však vědomi bezpečnosti, pravidelně aplikujete opravy – což může podkopat přizpůsobený model oprávnění (sudo OTOH udržuje svá oprávnění nezávisle na samotných příkazech).

Komentáře

  • ahhh, to je důvod, proč je Linux trochu obtížnější napadnout. Méně lidí s právy. Útočník by musel najít tu správnou osobu se správnými právy. per se.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *