Mi a különbség Linux alatt a "sudo su" és a "sudo su -" között?

A Linuxban a sudo su és a sudo su - parancsok között fontos különbség van abban, hogyan viselkedik a shell és milyen környezeti változókat örököl.

sudo su

  • Ez a parancs root felhasználóra vált, de megtartja az aktuális felhasználó környezeti változóit (pl. PATH, HOME, USER stb.).

  • Olyan, mintha csak jogosultságot váltanál, de nem lépsz be teljesen a root környezetébe.

Példa:

$ whoami user $ sudo su # whoami root # echo $HOME /home/user # <-- ez a sima felhasználó HOME-ja

sudo su -

  • Ez teljes belépés a root felhasználó környezetébe (login shell).

  • Betölti a root saját .profile, .bashrc, .bash_profile fájljait, és beállítja a root környezeti változóit.

  • Olyan, mintha bejelentkeztél volna a root felhasználóként közvetlenül.

Példa:

$ whoami
user $ sudo su - # whoami root # echo $HOME /root # <-- ez már a root HOME-ja

Összefoglalva

ParancsShell típusaKörnyezetMikor használd
sudo sunem login shellmegtartja az aktuális felhasználó környezetétha csak gyorsan root akarsz lenni, és nem számítanak a környezeti változók
sudo su -login shellroot teljes környezete betöltődikha olyan dolgokat csinálsz, ahol fontos a root környezete, pl. szkriptek, telepítések

Általánosságban biztonságosabb és célszerűbb a sudo su - használata, mert tisztább root környezetet ad.

Comments

Popular posts from this blog

RxJS Operátorok

Bevezetés az NgRx-be

ng-event-bus