Úvodná » ako » Aký je rozdiel medzi Sudo a Su v systéme Linux?

    Aký je rozdiel medzi Sudo a Su v systéme Linux?

    Ak ste používateľom systému Linux, pravdepodobne ste videli odkazy na sudo a su. Články tu o aplikácii How-To Geek a inde poučujú užívateľov Ubuntu, aby používali používateľa sudo a iných distribúcií linuxov na používanie su, ale aký je rozdiel?

    Sudo a su sú dva rôzne spôsoby, ako získať oprávnenia root. Každý z nich funguje iným spôsobom a rôzne distribucie Linuxu používajú štandardne rôzne konfigurácie.

    Hlavný používateľ

    Obe su a sudo sa používajú na spustenie príkazov s oprávneniami root. Používateľ root je v zásade ekvivalentný administrátorovi na systéme Windows - používateľ root má maximálne povolenia a môže robiť čokoľvek v systéme. Bežní používatelia v systéme Linux pracujú so zníženými oprávneniami - napríklad nemôžu nainštalovať softvér ani zapisovať do systémových adresárov.

    Ak chcete urobiť niečo, čo vyžaduje tieto povolenia, musíte ich získať pomocou su alebo sudo.

    Su vs Sudo

    Príkaz su sa prepne na super používateľ alebo užívateľ root, keď ho vykonáte bez ďalších možností. Budete musieť zadať heslo účtu root. Nie je to všetko príkaz su, ale môžete ho použiť na prepnutie na akýkoľvek používateľský účet. Ak vykonáte su bob príkaz, budete vyzvaní na zadanie hesla Bob a shell sa prepne na používateľov účet Bob.

    Po dokončení spustenia príkazov v koreňovom shellovi by ste mali zadať východ opustiť koreňový shell a vrátiť sa do režimu s obmedzenými oprávneniami.

    Sudo spúšťa jediný príkaz s oprávneniami root. Keď spustíte sudo príkaz, systém vás pred spustením zobrazí výzvu na zadanie hesla vášho aktuálneho používateľského konta príkaz ako používateľ root. Podľa predvoleného nastavenia Ubuntu pamäta heslo na pätnásť minút a nebude sa opýtať na heslo znovu, kým sa pätnásť minút nezobrazí.

    Toto je kľúčový rozdiel medzi su a sudo. Ne vás prepne na používateľské konto root a vyžaduje si heslo root účtu. Sudo spúšťa jediný príkaz s oprávneniami root - neprepína na používateľa root alebo nevyžaduje samostatné heslo používateľa root.

    Ubuntu verzus iné distribúcie Linuxu

    Príkaz su je tradičným spôsobom získania oprávnení root na Linuxe. Príkaz sudo existuje dlhý čas, ale Ubuntu bola prvou populárnou distribúciou Linuxu, ktorá sa predviedla ako sudo-only. Pri inštalácii Ubuntu sa vytvorí štandardný koreňový účet, ale nie je priradené žiadne heslo. Nemôžete sa prihlásiť ako root, kým priradíte heslo k účtu root.

    Existuje niekoľko výhod pri použití sudo namiesto su. Používatelia Ubuntu musia poskytnúť a zapamätať si jedno heslo, zatiaľ čo Fedora a iné distribúcie vyžadujú, aby ste počas inštalácie vytvorili samostatné heslá pre heslo root a používateľské konto.

    Ďalšou výhodou je, že odrádza používateľov od prihlásenia ako užívateľa root - alebo pomocou su, aby získali koreňový shell - a udržiavali koreňový shell otvorený na to, aby robili svoju normálnu prácu. Spúšťanie menšieho počtu príkazov ako root zvyšuje bezpečnosť a zabraňuje náhodným systémovým zmenám.

    Distribúcie založené na Ubuntu, vrátane Linux Mint, tiež štandardne používajú sudo namiesto su.

    Niekoľko trikov

    Linux je flexibilný, takže sa nevyžaduje veľa práce na tom, aby su pracoval podobne ako sudo - alebo naopak.

    Ak chcete spustiť jeden príkaz ako používateľ root s su, spustite nasledujúci príkaz:

    su -c 'príkaz "

    Toto je podobné spusteniu príkazu s sudom, ale namiesto hesla aktuálneho používateľského konta budete potrebovať heslo účtu root.

    Ak chcete získať úplný, interaktívny koreňový shell s sudom, spustite sudo -i.

    Budete musieť poskytnúť heslo aktuálneho používateľského konta namiesto hesla účtu root.

    Zapnutie hlavného používateľa v Ubuntu

    Ak chcete povoliť používateľský účet root v Ubuntu, použite nasledujúci príkaz na nastavenie hesla. Majte na pamäti, že Ubuntu to odporúča.

    sudo passwd koreň

    Aplikácia Sudo vás pred zadaním nového hesla zobrazí výzvu na zadanie hesla vášho aktuálneho používateľského účtu. Použite svoje nové heslo na prihlásenie ako root z príkazu terminálu prihlásenia alebo pomocou príkazu su. Nikdy by ste nemali používať úplné grafické prostredie ako užívateľ root - to je veľmi slabá bezpečnostná prax a mnohé programy odmietnu pracovať.

    Pridávanie používateľov do súboru Sudoers

    V príkaze Ubuntu sa môžu spustiť iba príkazy typu sudo. Typ okna používateľského účtu môžete zmeniť v okne Konfigurácia používateľských účtov.

    Ubuntu automaticky označuje používateľský účet vytvorený počas inštalácie ako účet správcu.

    Ak používate inú distribúciu Linuxu, môžete udeliť používateľovi povolenie používať sudo spustením visudo príkaz s oprávneniami root (tak spustiť su prvé alebo použitie su -c).

    Pridajte nasledujúci riadok do súboru a nahraďte ho užívateľ s názvom používateľského účtu:

    používateľ ALL = (ALL: ALL) ALL

    lis Ctrl-X a potom Y uložte súbor. Môžete tiež pridať používateľa do skupiny uvedenej v súbore. Používatelia v skupinách zadaných v súbore budú mať automaticky privilégiá sudo.

    Grafické verzie Su

    Linux tiež podporuje grafické verzie su, ktoré vyžadujú vaše heslo v grafickom prostredí. Môžete napríklad spustiť nasledujúci príkaz, aby ste dostali výzvu na zadanie grafického hesla a spustiť prehliadač súborov Nautilus s oprávneniami root. lis Alt-F2 spustiť príkaz z grafického spúšťacieho dialógu bez spustenia terminálu.

    gksu nautilus

    Príkaz gksu má navyše niekoľko ďalších trikov, ktoré si zachovávajú svoje aktuálne nastavenia pre pracovnú plochu, takže grafické programy nebudú vyzerajúce mimo miesta, keď ich spustíte ako iný používateľ. Programy, ako je gksu, sú preferovaným spôsobom spustenia grafických aplikácií s oprávneniami root.

    Gksu používa buď su alebo sudo založený backend, v závislosti od distribúcie Linuxu, ktorú používate.


    Teraz by ste mali byť pripravení naraziť na su a sudo! Ak používate rôzne distribúcie Linuxu, narazíte na oboje.