Cum să schimbi utilizatorul în Linux?
În Linux, expresia „schimbare utilizator” poate descrie mai multe acțiuni diferite – unele temporare și bazate pe sesiune, altele permanente și la nivel de sistem. Deoarece Linux este un sistem de operare multi-utilizator prin design, oferă mai multe modalități de a schimba identitățile și permisiunile în funcție de ceea ce încerci să realizezi: administrarea unui server, rularea unei aplicații cu drepturi limitate, rezolvarea problemelor de acces la fișiere sau restructurarea conturilor de utilizator.
Schimbarea „utilizatorului” în Linux poate însemna câteva lucruri diferite în funcție de context:
- Comutarea la un alt cont în shell (de exemplu, de la john la root)
Aceasta se folosește atunci când ai nevoie de o sesiune terminal interactivă ca un alt utilizator – adesea pentru administrarea sistemului sau pentru a testa cum se comportă ceva într-un mediu de cont diferit. - Executarea unei comenzi unice ca un alt utilizator
Ideal când ai nevoie doar de privilegii elevate sau de o identitate diferită pentru o singură sarcină (cum ar fi repornirea unui serviciu sau executarea unei comenzi de bază de date) fără a schimba complet sesiunea ta.
- Comutarea la un alt cont în shell (de exemplu, de la john la root)
- Schimbarea utilizatorului de conectare implicit pentru un serviciu/proces
Serviciile (servere web, baze de date, aplicații) ar trebui să ruleze de obicei sub utilizatori dedicați, non-root, pentru securitate. Schimbarea utilizatorului serviciului afectează modul în care procesul rulează și la ce poate accesa. - Schimbarea proprietății fișierelor și directoarelor
Proprietatea fișierelor controlează accesul. Dacă permisiunile sunt greșite – comun după migrații, restaurări sau desfășurări – „schimbi utilizatorul” prin reasignarea proprietății astfel încât contul corect să poată citi/scrie fișiere. - Schimbarea atributelor identității utilizatorului (nume utilizator, UID, grupuri)
Aceasta este gestionarea contului: redenumirea unui utilizator, schimbarea UID-ului său sau ajustarea apartenenței la grup (cum ar fi acordarea accesului sudo). Aceste schimbări pot afecta logările, permisiunile și accesul la servicii.
Acest ghid acoperă toate aceste scenarii, arătând când să folosești fiecare abordare, cum să o faci în siguranță și ce greșeli să eviți – astfel încât să poți schimba utilizatorii cu încredere fără a încălca permisiunile, serviciile sau accesul.
Comută la un alt utilizator (shell interactiv)
su (schimbare utilizator)
– (sau -l) încarcă mediul complet de conectare al utilizatorului țintă: directorul home, PATH, profilul shell.
Fără -, păstrezi mare parte din mediul tău curent (poate fi confuz).
Comută la root:
Notă de securitate: Pe multe distribuții, su necesită parola utilizatorului țintă (de exemplu, parola root), care este adesea dezactivată.
sudo -i (preferat pentru shell-uri root/admin)
Îți oferă un shell de conectare root (similar cu su -), folosind drepturile tale sudo în loc de parola root.
Comută la un alt utilizator cu un shell de conectare:
Execută o singură comandă ca un alt utilizator (non-interactiv)
sudo -u
Execută cu un mediu curat, asemănător conectării:
Execută o comandă ca root
Schimbă „utilizatorul efectiv” al unui proces în execuție (realitate avansată)
Linux nu îți permite să „schimbi utilizatorul” unui proces deja în execuție în majoritatea scenariilor practice. În schimb, de obicei:
repornesti procesul sub utilizatorul corect
sau folosești manageri de servicii (systemd) pentru a defini utilizatorul
Pentru a inspecta care utilizator rulează un proces:
Sau:
Schimbă care utilizator rulează un serviciu (systemd)
Majoritatea distribuțiilor Linux de producție folosesc systemd. Serviciile ar trebui să ruleze ca utilizatori dedicați, neprivilegiați.
Verifică configurația serviciului:
Caută:
User=Group=
Exemplu de suprascriere (metodă sigură):
Adaugă:
Aplică:
Verifică:
Schimbă proprietatea fișierelor (schimbând „utilizatorul” pentru fișiere)
chown (schimbare proprietar)
Schimbă proprietarul:
Schimbă proprietarul și grupul:
Recursiv (fii atent):
Păstrează symlink-urile (evită schimbarea țintelor link-urilor):
Sfat avansat: Pentru arbori mari, previzualizează mai întâi:
Schimbă identitatea shell-ului tău curent vs. schimbarea contului în sine
Confirmă cine ești
Confirmă cine este conectat
Vezi care utilizator a rulat shell-ul curent prin sudo
Schimbă numele de utilizator, UID, grupuri (modificare cont)
Redenumește un utilizator (nume utilizator)
De asemenea, mută/redenumește directorul home:
Actualizează și numele grupului (opțional):
Schimbă UID (avansat; afectează proprietatea fișierelor)
După schimbarea UID-ului, repară proprietatea fișierelor:
Adaugă utilizator la un grup (de exemplu, sudo)
Verifică:
„Foaie de trucuri” rapidă
Comută utilizator:
Execută comandă ca un alt utilizator:
Execută shell root:
Schimbă proprietarul fișierului:
Schimbă detaliile contului:
