Pagina principala » HOWTO » Care este diferența dintre Sudo și Su în Linux?

    Care este diferența dintre Sudo și Su în Linux?

    Dacă sunteți utilizator Linux, ați văzut probabil referințe la sudo și su. Articolele de pe site-ul How-To Geek și în altă parte instruiesc utilizatorii Ubuntu să folosească sudo și alți utilizatori ai distribuțiilor Linux pentru a utiliza su, dar care este diferența?

    Sudo și su sunt două moduri diferite de a obține privilegii de rădăcină. Fiecare funcționează într-un mod diferit, iar diferite distribuții Linux utilizează implicit diferite configurații.

    Utilizatorul rădăcină

    Atât su, cât și sudo sunt utilizate pentru a rula comenzi cu permisiuni root. Utilizatorul rădăcină este, în esență, echivalent cu utilizatorul de administrator pe Windows - utilizatorul rădăcină are permisiuni maxime și poate face orice pentru sistem. Utilizatorii obișnuiți pe Linux rulează cu permisiuni reduse - de exemplu, nu pot instala programe sau nu pot scrie în directoarele de sistem.

    Pentru a face ceva care necesită aceste permisiuni, va trebui să le achiziționați cu su sau sudo.

    Su vs. Sudo

    Comanda su comută la utilizatorul super - sau la root - când îl executați fără alte opțiuni. Va trebui să introduceți parola contului rădăcină. Aceasta nu este totuși comanda su, însă - îl puteți folosi pentru a comuta la orice cont de utilizator. Dacă executați su bob , vi se va cere să introduceți parola Bob și shell-ul va trece la contul de utilizator Bob.

    După terminarea comenzilor în coajă rădăcină, trebuie să tastați Ieșire pentru a părăsi shell-ul rădăcină și a reveni la modul privilegii limitate.

    Sudo rulează o singură comandă cu privilegii de root. Când executați comanda sudo, sistemul vă solicită parola contului curent de utilizator înainte de a fi rulat comanda ca utilizator rădăcină. În mod implicit, Ubuntu își amintește parola timp de cincisprezece minute și nu va mai cere o parolă până când cele cincisprezece minute.

    Aceasta este o diferență majoră între su și sudo. Su vă schimbă în contul de utilizator rădăcină și necesită parola contului rădăcină. Sudo execută o singură comandă cu privilegii de root - nu comută la utilizatorul rădăcină sau necesită o parolă de utilizator separată pentru root.

    Ubuntu vs. alte distribuții Linux

    Comanda su este modalitatea tradițională de a obține permisiuni root pe Linux. Comanda sudo a existat de foarte mult timp, dar Ubuntu a fost prima distribuție populară Linux care mergea în mod implicit în sudo. Când instalați Ubuntu, contul rădăcină standard este creat, însă nu i se atribuie o parolă. Nu vă puteți autentifica ca root până când nu atribuiți o parolă contului rădăcină.

    Există mai multe avantaje pentru utilizarea sudo în loc de su în mod implicit. Utilizatorii Ubuntu trebuie să furnizeze și să-și amintească o singură parolă, în timp ce Fedora și alte distribuții necesită crearea parolelor separate de cont root și utilizator în timpul instalării.

    Un alt avantaj este că descurajează utilizatorii să se logheze ca utilizator rădăcină - sau folosind su pentru a obține o coajă de rădăcină - și păstrarea coajă rădăcină deschis pentru a face munca lor normală. Rularea mai puține comenzi ca rădăcină crește securitatea și previne schimbările accidentale la nivel de sistem.

    Distribuțiile bazate pe Ubuntu, inclusiv Linux Mint, utilizează de asemenea sudo în loc de su în mod implicit.

    Câteva trucuri

    Linux este flexibil, deci nu prea este nevoie de prea multă muncă pentru a face work similar cu sudo - sau invers.

    Pentru a executa o singură comandă ca utilizator rădăcină cu su, executați următoarea comandă:

    su -c 'comanda'

    Acest lucru este similar cu rularea unei comenzi cu sudo, dar veți avea nevoie de parola contului rădăcină în locul parolei contului curent al utilizatorului.

    Pentru a obține o coajă completă, interactivă cu sudo, rulați sudo -i.

    Va trebui să furnizați parola contului curent de utilizator în locul parolei contului rădăcină.

    Activarea Utilizatorului Root în Ubuntu

    Pentru a activa contul de utilizator rădăcină pe Ubuntu, utilizați următoarea comandă pentru a seta o parolă pentru acesta. Rețineți că Ubuntu recomandă acest lucru.

    sudo passwd rădăcină

    Sudo vă va solicita parola contului curent de utilizator înainte de a vă putea stabili o nouă parolă. Utilizați noua parolă pentru a vă conecta ca root de la un prompt de conectare la terminal sau cu comanda su. Nu ar trebui să rulați niciodată un mediu grafic complet ca utilizator rădăcină - aceasta este o practică de securitate foarte slabă și multe programe vor refuza să lucreze.

    Adăugarea utilizatorilor la fișierul Sudoers

    Numai conturile de tip administrator din Ubuntu pot rula comenzi cu sudo. Puteți modifica tipul unui cont de utilizator din fereastra de configurare Conturi utilizator.

    Ubuntu desemnează automat contul de utilizator creat în timpul instalării ca un cont de administrator.

    Dacă utilizați o altă distribuție Linux, puteți acorda permisiunea utilizatorului să utilizeze sudo executând visudo comandă cu privilegii de root (așa că executați su prima sau utilizarea su -c).

    Adăugați următoarea linie în fișier, înlocuind-o utilizator cu numele contului de utilizator:

    user ALL = (ALL: ALL) ALL

    presa Ctrl-X și apoi Y pentru a salva fișierul. De asemenea, este posibil să adăugați un utilizator unui grup specificat în fișier. Utilizatorii din grupurile specificate în fișier vor avea în mod automat privilegii sudo.

    Versiuni grafice ale lui Su

    Linux suportă și versiuni grafice ale su, care vă cer parola într-un mediu grafic. De exemplu, puteți executa următoarea comandă pentru a obține o solicitare de parolă grafică și a rula browserul de fișiere Nautilus cu permisiuni root. presa Alt-F2 pentru a rula comanda dintr-un dialog grafic de rulare fără a lansa un terminal.

    gksu nautilus

    Comanda gksu are, de asemenea, câteva trucuri în plus - își păstrează setările curente ale desktopului, astfel încât programele grafice nu vor părea în afara locului când le lansați ca utilizator diferit. Programe precum gksu sunt modul preferat de lansare a aplicațiilor grafice cu privilegii de root.

    Gksu folosește un backend bazat pe su sau sudo, în funcție de distribuția Linux pe care o utilizați.


    Acum ar trebui să fiți pregătiți să întâlniți su și sudo! Veți întâlni atât dacă utilizați diferite distribuții Linux.