Skip to main content

Čo je sudo v systéme Linux?

Anonim

Keď spustíte administratívne aplikácie v systéme Linux, môžete použiť príkaz su ("switch user") na prepnutie na superuser (root) alebo môžete použiť príkaz sudo ("super user do").

Jedným zo spôsobov, ako zistiť, kedy použiť príkaz sudo je, ak sa pokúšate spustiť príkazy v termináli, len aby boli splnené s prístupom "zamietnutý prístup" alebo "operácia vyžaduje privilégium superuser" chyby. Tieto chyby sa môžu vyskytnúť, ak distribucia Linuxu - napríklad Ubuntu - neumožňuje používanie užívateľa root. Akonáhle použijete príkaz sudo, tento špecifický príkaz môže byť spustený s zvýšenými právami.

Ak sa však namiesto toho rozhodnete použiť príkaz su, prepnete celý používateľ na root, čo znamená, že aj po prvom príkaze sa každý ďalší spustí aj s koreňovými povereniami. Tým je naozaj jednoduché náhodne spustiť zvýšené príkazy, ktoré by mohli spôsobiť veľa škôd, ak nie ste opatrní.

Zopakovať: sudo funguje iba pre každý príkaz, ktorý sa začína ako "sudo", zatiaľ čo sa to povolí každý príkaz v tomto výzve na spustenie ako superuser bez nutnosti písať sudo alebo su pred každým.

Ako to funguje

Aj keď fungujú inak, môžete porovnať príkaz sudo s výzvou, ktorú môžete vidieť v systéme Windows alebo macOS. Ak sa na tieto operačné systémy pýtate, či chcete pokračovať v vykonávaní konkrétnej akcie, dostanete tlačidlo, ktoré potvrdzuje, že chcete spustiť akciu so zvýšeným oprávnením, a niekedy možno budete musieť zadať heslo administrátora ,

Podobne ako v týchto operačných systémoch, Linux používa príkaz sudo ako stenu medzi bežnými úlohami a správnymi, takže musíte overiť, či chcete robiť to, čo bude príkaz spúšťať. Ešte podobnejší je príkaz runas v systéme Windows; ako v systéme Linux, príkaz runas z príkazového riadku pracuje na spustení súboru s povereniami od určitého používateľa, často administrátora.

Tip: Ak si nie ste istí, či používate sudo alebo su, pozrite sa na koncový znak na príkazovom riadku. Ak je to znamienko libry (#), ste prihlásení ako root.

O veliteľstve Sudo

V systéme Linux sudo (vyslovuje sa ako "sue cesto") umožňuje správcovi systému dať určitým užívateľom alebo skupinám užívateľov možnosť spustiť niektoré alebo všetky príkazy ako root počas zaznamenávania všetkých príkazov a argumentov. Nie je to však náhrada škrupiny.

Keď zadáte "sudo" pred ľubovoľný príkaz v termináli, spustí sa nasledovné so zvýšeným privilégiami, preto je to riešenie privolania súvisiacich chýb. Je to potrebné, ak chcete spustiť príkazy, ktoré sa považujú za administratívne úlohy.

Sudo pracuje na základe príkazu. Funkcie zahŕňajú možnosť obmedziť príkazy, ktoré môže používateľ spúšťať na základe jedného hostiteľa, skromné ​​zaznamenávanie každého príkazu, aby poskytol jasnú kontrolnú stopu toho, kto urobil čo, konfigurovateľný časový limit príkazu sudo a schopnosť používať to isté konfiguračný súbor na mnohých rôznych zariadeniach.

Príklad príkazu Sudo

Štandardný používateľ bez oprávnení správcu môže do Linuxu spustiť príkaz na inštaláciu softvéru:

dpkg -i software.deb

Príkaz vráti chybu, pretože osoba bez oprávnení správcu nemôže inštalovať softvér. Príkaz sudo však príde na záchranu. Namiesto toho správny príkaz pre tohto používateľa je:

sudo dpkg -i softvér.deb

Tentoraz sa softvér inštaluje. Predpokladá sa, že osoba s oprávneniami správcu má predtým nakonfigurovaný systém Linux, aby používateľovi umožnil inštaláciu softvéru alebo, ak sa zobrazí výzva na zadanie hesla, aby bolo heslo zadané správne.

Poznámka: Môžete tiež nakonfigurovať systém Linux tak, aby zabránil niektorým používateľom používať príkaz sudo.