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ă multiple 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:
- Schimbarea 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. - Rularea unei comenzi unice ca un alt utilizator
Ideal atunci când ai nevoie doar de privilegii elevate sau de o identitate diferită pentru o singură sarcină (cum ar fi repornirea unui serviciu sau rularea unei comenzi de bază de date) fără a schimba complet sesiunea.
- Schimbarea 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 de obicei să ruleze 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 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.
Schimbă 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 o mare parte din mediul tău curent (poate fi confuz).
Schimbă 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.
Schimbă la un alt utilizator cu un shell de conectare:
Rulare a unei singure comenzi ca un alt utilizator (non-interactiv)
sudo -u
Rulare cu un mediu curat asemănător conectării:
Rulare 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 ce utilizator rulează un proces:
Sau:
Schimbă ce utilizator rulează un serviciu (systemd)
Cele mai multe distribuții Linux de producție folosesc systemd. Serviciile ar trebui să ruleze ca utilizatori dedicați, fără privilegii.
Verifică configurația serviciului:
Caută:
User=Group=
Exemplu de suprascriere (metodă sigură):
Adaugă:
Aplică:
Verifică:
Schimbă proprietatea fișierului (schimbarea „utilizatorului” pentru fișiere)
chown (schimbare proprietar)
Schimbă proprietar:
Schimbă proprietar și grup:
Recursiv (fii atent):
Păstrează link-urile simbolice (evită schimbarea țintelor link-urilor):
Sfaturi avansate: 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 ce utilizator a rulat shell-ul curent prin sudo
Schimbă numele utilizatorului, UID, grupuri (modificarea contului)
Redenumește un utilizator (nume utilizator)
De asemenea, mută/renumește directorul home:
Actualizează și numele grupului (opțional):
Schimbă UID
După schimbarea UID-ului, repară proprietatea fișierelor:
Adaugă utilizator la un grup (de exemplu, sudo)
Verifică:
„Foile de trucuri” rapide
Schimbă utilizator:
Rulare comandă ca un alt utilizator:
Rulare shell root:
Schimbă proprietarul fișierului:
Schimbă detaliile contului:
