4Aug
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 root. 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 folosite pentru a rula comenzi cu permisiuni root. Utilizatorul rădăcină este, în principiu, 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-utilizator 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 comanda su bob , vi se va cere să introduceți parola Bob și shell-ul va comuta la contul de utilizator Bob.
Odată ce ați terminat comenzile care rulează în shell-ul 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 executa 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 nu sunt valabile.
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 rulează o singură comandă cu privilegii de root - nu trece la utilizatorul rădăcină sau necesită o parolă de utilizator separată.
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 sudo-only. Când instalați Ubuntu, contul rădăcină standard este creat, dar nu i se atribuie nici 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ă rețină o singură parolă, în timp ce Fedora și alte distribuții necesită crearea parolelor separate de cont root și de 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ăstrați coajă rădăcină deschisă pentru a-și desfășura activitatea obișnuită.Rularea mai puține comenzi ca root 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'
Aceasta este similară executării unei comenzi cu sudo, dar veți avea nevoie de parola contului rădăcină în locul utilizatorului curentparola contului.
Pentru a obține o coajă completă, interactivă cu sudo, rulați sudo -i.
Va trebui să introduceți parola contului curent de utilizator în locul parolei contului rădăcină.
Activarea utilizatorului rădăcină în Ubuntu
Pentru a activa contul de utilizator rădăcină în 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 putea seta o nouă parolă.Utilizați noua parolă pentru a vă conecta ca root din promptul de conectare la terminal sau cu comanda su. Niciodată nu ar trebui să rulați 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 comanda visudo cu privilegii root( așa că rulați mai întâi sau sau folosiți su -c ).
Adăugați următoarea linie în fișier, înlocuind utilizatorul cu numele contului de utilizator:
user ALL =( TOATE: ALL) ALL
Apăsați 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.
Versiunile grafice ale Su
Linux suportă, de asemenea, versiunile grafice ale su, care vă cer parola într-un mediu grafic. De exemplu, puteți executa următoarea comandă pentru a primi o solicitare de parolă grafică și a rula browser-ul de fișiere Nautilus cu permisiuni root. Apăsați 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 un alt utilizator. 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.