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

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

imagine

Dacă sunteți un utilizator Linux, probabil ați văzutreferiri atât la sudo cât și la su. Articole de aici despre How-To Geek și în alte părți îi recomandă utilizatorilor Ubuntu să folosească utilizatorii sudo și alte distribuții Linux să utilizeze su, dar care este diferența?

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

Utilizatorul Root

Atât su și sudo sunt utilizate pentru a rula comenzi cupermisiunile root. Utilizatorul root este în principiu echivalent cu utilizatorul administrator pe Windows - utilizatorul root are permisiuni maxime și poate face orice în sistem. Utilizatorii normali de pe Linux rulează cu permisiuni reduse - de exemplu, nu pot instala software-ul sau scrie în directoarele sistemului.

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 super utilizator - sauutilizator root - atunci când îl executați fără opțiuni suplimentare. Va trebui să introduceți parola contului rădăcină. Cu toate acestea, nu este tot ceea ce face comanda su - puteți să o utilizați pentru a comuta la orice cont de utilizator. Dacă executați su bob comanda, vi se va solicita să introduceți parola lui Bob și shell-ul va trece la contul de utilizator al lui Bob.

După ce ați terminat executarea comenzilor în shell-ul rădăcină, ar trebui să tastați Ieșire pentru a părăsi shell-ul rădăcină și a reveni la modul cu privilegii limitate.

Sudo rulează o singură comandă cu privilegii root. Când executați comanda sudo, sistemul vă solicită parola contului dvs. de utilizator curent înainte de a rula 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 au trecut.

imagine

Aceasta este o diferență cheie între su și sudo. Su vă trece la contul de utilizator root și necesită parola contului root. Sudo rulează o singură comandă cu privilegii root - nu trece la utilizatorul root și nu necesită o parolă separată pentru utilizator root.

Ubuntu vs. alte distribuții Linux

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

imagine

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ă să creezi parole de root și cont de utilizator separate în timpul instalării.

Un alt avantaj este că descurajează utilizatoriide la logare ca utilizator rădăcină - sau folosind su pentru a obține o coajă rădăcină - și păstrarea shell-ului rădăcină deschis pentru a face munca normală. Rularea a mai puține comenzi, deoarece root crește securitatea și previne modificări accidentale la nivelul întregului sistem.

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

Câteva trucuri

Linux este flexibil, așa că nu este nevoie de multă muncă pentru ca lucrările sale să funcționeze în mod similar cu sudo - sau invers.

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

su -c „comandă”

Aceasta este similară cu executarea unei comenzi cu sudo, dar veți avea nevoie de parola contului root în locul parolei contului de utilizator curent.

Pentru a obține un shell root complet și interactiv cu sudo, executați sudo –i.

imagine

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

Activarea utilizatorului rădăcină în Ubuntu

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

rădăcină sudo passwd

Sudo vă va solicita utilizatorul dvs. curentparola contului înainte de a putea seta o parolă nouă. Utilizați noua parolă pentru a vă autentifica ca root dintr-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ă funcționeze.

imagine

Adăugarea utilizatorilor în fișierul Sudoers

Doar conturile de tip administrator din Ubuntu pot rula comenzi cu sudo. Puteți schimba tipul unui cont de utilizator din fereastra de configurare a conturilor de utilizator.

imagine

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

imagine

Dacă utilizați o altă distribuție Linux, puteți acorda permisiunea utilizatorului de a utiliza sudo rulând visudo comanda cu privilegii root (deci executați su mai întâi sau de utilizare su -c).

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

utilizator ALL = (ALL: ALL) ALL

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

imagine

Versiuni grafice ale lui Su

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

gksu nautilus

imagine

Comanda gksu mai are alte câteva trucurimânecă - vă păstrează setările actuale pentru desktop, astfel încât programele grafice nu vor părea din loc atunci când le lansați ca utilizator diferit. Programele precum gksu sunt modalitatea preferată de a lansa aplicații grafice cu privilegii 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ă fii pregătit să întâlnești atât su și sudo! Vei întâlni atât dacă folosești diferite distribuții Linux.