Routech explică: Diferențele dintre Su, Sudo Su, Sudo -s și Sudo -i

Routech explică: Diferențele dintre Su, Sudo Su, Sudo -s și Sudo -i
⏱️ 5 min read

Pe linia de comandă Linux există multe modalități diferite de a obține o sesiune root în terminal. Acest lucru poate crea o oarecare confuzie, deoarece majoritatea utilizatorilor începători care doresc să câștige root ar putea să nu fie familiarizați cu modul în care fiecare comandă poate obține acces root, modul în care sunt diferite și când aceste diferențe contează.

Din această cauză vom desface fiecare dintre numeroasele comenzi diferite folosite pentru a obține acces root într-un terminal. Vom explica exact cum câștigă rădăcină, când să le folosească și tot ce există între ele.

su

su comanda înlocuiește utilizatorul curent utilizat de sistem în shell. Puteți comuta la orice utilizator luând su și adăugând un nume de utilizator. Acest lucru va spune sistemului să comute (și, în esență, să se deconecteze) de la utilizatorul curent la cel specificat. Alternativ, su comanda poate obține acces root prin introducerea su fără a specifica nimic după comandă.

„Su” este cel mai bine utilizat atunci când un utilizator dorește acces direct la contul root al sistemului. Nu trece sudo sau ceva de genul asta. În schimb, parola utilizatorului root trebuie să fie cunoscută și utilizată pentru a vă conecta. În plus, alte modalități de a câștiga root nu au avantajul de a obține acces la directorul principal de root și la mediul root.

sudo su

root-sudo-su

Această comandă este în esență aceeași ca doar rularea su în cochilie. În loc să spuneți sistemului să „schimbe utilizatorii” direct, îi spuneți să ruleze comanda „su” ca root. Cand sudo su este rulat, „.profile”, „.bashrc” și „/ etc / profile” vor fi pornite, la fel ca rularea su (sau su root). Acest lucru se datorează faptului că, dacă se execută orice comandă cu sudo în fața ei, este o comandă căreia i se acordă privilegii de root.

Deși nu există prea multe diferențe față de „su”, sudo su este încă o comandă foarte utilă dintr-un motiv important: Când un utilizator rulează „su” pentru a obține acces root pe un sistem, trebuie să cunoască parola root. Modul în care rădăcina este dată cu sudo su este solicitând parola utilizatorului curent. Acest lucru face posibilă obținerea de root fără parola de root, ceea ce crește securitatea.

sudo -i

root-sudo-i

Folosind sudo -i este practic la fel ca sudo su comanda. Utilizatorii pot câștiga root prin „sudo” și nu prin trecerea la utilizatorul root. Mai mult ca sudo su, -i flag permite utilizatorului să obțină un mediu root fără să fie nevoie să cunoască parola contului root. sudo -i este, de asemenea, foarte asemănător cu utilizarea sudo su prin aceea că va citi toate fișierele de mediu (.profile etc.) și va seta mediul în interiorul shell-ului cu acesta.

Unde diferă de „sudo su” este acela sudo -i este un mod mult mai curat de a câștiga root și un mediu root fără a interacționa direct cu utilizatorul root. Cum? Cu sudo su folosiți mai multe rădăcini setuid comenzi. Acest fapt face mult mai dificil să ne dăm seama ce variabile de mediu vor fi păstrate și care vor fi modificate (atunci când se înmulțesc cu mediul rădăcină). Acest lucru nu este adevărat cu sudo -i, și din această cauză majoritatea oamenilor o consideră metoda preferată de a câștiga root fără să se conecteze direct.

sudo -s

root-sudo-s

-s comutare pentru comanda „sudo” citește variabila $ SHELL a utilizatorului curent care execută comenzile. Această comandă funcționează ca și când utilizatorul rulează sudo /bin/bash. Sudo -s este un shell de tip „non-login”. Aceasta înseamnă că, spre deosebire de o comandă ca sudo -i sau sudo su, sistemul nu va citi niciun fișier de mediu. Aceasta înseamnă că atunci când un utilizator îi spune shell-ului să ruleze sudo -s, câștigă rădăcină, dar nu va schimba utilizatorul sau mediul utilizatorului. Casa ta nu va fi casa rădăcină etc.

Această comandă este folosită cel mai bine atunci când utilizatorul nu dorește deloc să atingă root și dorește doar un shell root pentru executarea ușoară a comenzii. Alte comenzi despre care am vorbit mai sus câștigă acces root, dar atinge fișierele de mediu root și permit utilizatorilor un acces mai complet la root (ceea ce poate fi o problemă de securitate).

Concluzie: Ce comandă ar trebui să folosesc?

Fiecare comandă are cazul său de utilizare. Important este să înțelegeți ce face fiecare comandă și când să le utilizați. Ca atare, sudo -i este cel mai practic și mai curat mod de a câștiga un mediu rădăcină. Pe de altă parte, cei care folosesc sudo -s vor descoperi că pot câștiga un shell rădăcină fără posibilitatea de a atinge mediul rădăcină, lucru care a adus avantaje de securitate.

Într-adevăr nu există o comandă pe această listă care să fie 100% cea mai bună. Pe măsură ce utilizatorii devin mai confortabili cu linia de comandă, vor trebui să ia în considerare fiecare mod de a câștiga rădăcină (și există multe) și să cântărească avantajele și dezavantajele și să acționeze în consecință. Sper că, cu ajutorul acestui articol, aceste decizii vor fi mai ușor de luat.

În ce mod preferați să obțineți acces root în Linux? Spune-ne mai jos!

Credit de imagine: blog.david-jensen.com

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

You may also like...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x