15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți
02.01.2026
5 +1

Cum să schimbi utilizatorul în Linux: Ghidul complet

Linux este un sistem de operare multi-utilizator prin design, iar gestionarea identităților utilizatorilor este una dintre cele mai fundamentale abilități pe care orice administrator de sistem trebuie să o stăpânească. Indiferent dacă gestionezi un mediu VPS Hosting, configurezi un server web sau rezolvi probleme de permisiuni de fișiere după o implementare, înțelegerea modului de schimbare a utilizatorilor în Linux este esențială.

Expresia „schimbare utilizator” în Linux acoperă de fapt mai multe operații distincte, fiecare cu propriile instrumente, riscuri și bune practici:

  • Comutarea la alt cont în shell (de exemplu, de la john la root) pentru o sesiune interactivă
  • Executarea unei singure comenzi ca alt utilizator fără a comuta complet sesiunile
  • Schimbarea utilizatorului sub care rulează un serviciu sau proces — critic pentru consolidarea securității
  • Schimbarea proprietarului fișierelor și directoarelor — esențial după migrări, restaurări sau implementări
  • Modificarea atributelor contului utilizator — redenumire utilizatori, schimbare UID-uri sau ajustare a apartenențelor la grupuri

Acest ghid acoperă toate aceste scenarii în profunzime, explicând când să folosești fiecare abordare, cum să o faci în siguranță și ce greșeli trebuie să eviți — pentru a putea gestiona utilizatorii Linux cu încredere fără a rupe permisiunile, serviciile sau accesul.

Cuprins

  1. Comutare la Alt Utilizator (Shell Interactiv)
  2. Executare Comandă Unică ca Alt Utilizator
  3. Schimbare Utilizator Serviciu (systemd)
  4. Schimbare Proprietate Fișier cu chown
  5. Confirmare Identitate Actuală
  6. Modificare Atribute Cont Utilizator
  7. Foaie de Referință Rapidă

Comutare la Alt Utilizator (Shell Interactiv)

Când ai nevoie de o sesiune de terminal interactivă completă ca alt utilizator — pentru administrare de sistem, testare comportament aplicație sub alt cont sau acces la cont serviciu — Linux oferă două instrumente principale: su și sudo.

Folosire su (Switch User)

Comanda su înlocuiește identitatea utilizatorului curent cu alta:

su - username

Steagul - (scris și ca -l sau --login) este important: încarcă mediul complet de conectare al utilizatorului țintă, inclusiv directorul lor home, PATH, profilul shell și variabilele de mediu. Fără steagul -, moștenești o mare parte din mediul tău curent, ceea ce poate cauza comportament subtil și confuz — mai ales atunci când rulezi scripturi sau servicii.

Pentru a comuta direct la root:

su -

> Notă de securitate: Pe multe distribuții Linux moderne, contul root are parola dezactivată în mod implicit (în special pe sisteme bazate pe Ubuntu). În aceste cazuri, su la root va eșua, iar sudo este abordarea corectă.

Folosire sudo -i (Preferat pentru Shell-uri Root/Admin)

sudo -i

Aceasta îți oferă un shell de conectare root echivalent cu su -, dar se autentifică folosind propriile privilegii sudo în loc să necesite parola root. Aceasta este abordarea recomandată pe majoritatea distribuțiilor moderne deoarece:

  • Evită necesitatea de a partaja sau cunoaște parola root
  • Toate acțiunile sunt înregistrate prin pista de audit sudo
  • Respectă configurația și restricțiile sudoers

Comutare la Alt Utilizator cu Shell de Conectare via sudo

sudo -iu username

Aceasta combină -i (shell de conectare) și -u (utilizator țintă), oferindu-ți un mediu de conectare curat ca utilizatorul specificat — fără a necesita parola acelui utilizator.

Executare Comandă Unică ca Alt Utilizator

Adesea nu ai nevoie de o sesiune interactivă completă — trebuie doar să execuți o comandă cu o identitate diferită. Acesta este cel mai comun și cel mai sigur model pentru escaladarea privilegiilor.

Folosire sudo -u

sudo -u username whoami
sudo -u postgres psql

Al doilea exemplu este extrem de comun în administrarea bazelor de date — comutare la utilizatorul de sistem postgres pentru a accesa PostgreSQL fără autentificare cu parolă.

Executare Comandă cu Mediu de Conectare Curat

sudo -iu username command_here

Aceasta asigură că comanda rulează cu mediul complet al utilizatorului țintă, nu variabilele sesiunii tale curente.

Executare Comandă ca Root

sudo systemctl restart nginx

Acesta este modelul standard pentru sarcini administrative: executare o singură comandă privilegiată fără a deschide un shell root.

Schimbare Utilizator Serviciu (systemd)

Pe practic toate distribuțiile Linux moderne, systemd gestionează serviciile. Pentru securitate, fiecare serviciu ar trebui să ruleze sub un cont de utilizator dedicat și neprivilegiat în loc de root. Rularea serviciilor ca root este un risc de securitate semnificativ — dacă serviciul este compromis, atacatorul obține acces root la întregul sistem.

Aceasta este deosebit de importantă pe Servere Dedicate și medii VPS de producție unde pot rula simultan mai multe servicii.

Verificare Configurație Serviciu Actuală

systemctl cat myservice.service

Caută directivele User= și Group= în secțiunea [Service]:

[Service]
User=www-data
Group=www-data

Suprascrie Utilizator Serviciu (Metodă Sigură)

În loc să editezi fișierul unitar original (care poate fi suprascris la actualizări de pachete), folosește systemctl edit pentru a crea o suprasciere drop-in:

sudo systemctl edit myservice.service

Aceasta deschide un editor unde adaugi:

[Service]
User=myuser
Group=mygroup

Salvează fișierul, apoi aplică modificările:

sudo systemctl daemon-reload
sudo systemctl restart myservice.service

Verificare Serviciu Rulează ca Utilizator Corect

systemctl status myservice.service
ps -eo user,pid,cmd | grep myservice

Inspectare Utilizator Orice Proces Rulează

ps -eo user,pid,cmd | grep nginx
ps -p <PID> -o user,group,cmd

> Important: Linux nu îți permite să schimbi utilizatorul unui proces deja rulează în loc. Trebuie să repornești procesul (sau să configurezi managerul de servicii să-l lanseze sub utilizatorul corect) pentru ca modificarea să aibă efect.

Schimbare Proprietate Fișier cu chown

Proprietatea fișierului este o parte centrală a modelului de permisiuni al Linux. După migrări, implementări, copii de rezervă sau restaurări, proprietatea poate ajunge atribuită utilizatorului greșit — causând erori de permisiune refuzată, aplicații web rupte sau date inaccesibile. Comanda chown este instrumentul tău principal pentru corectarea acesteia.

Aceasta este o sarcină comună atunci când configurezi medii Găzduire Web Partajată sau implementezi aplicații web pe un VPS.

Schimbare Proprietar Fișier

sudo chown username file.txt

Schimbare Proprietar și Grup

sudo chown username:groupname file.txt

Schimbare Proprietate Recursivă (Folosire cu Precauție)

sudo chown -R username:groupname /var/www/site

Steagul -R aplică modificarea recursiv la toate fișierele și subdirectoarele. Folosește aceasta cu atenție — aplicarea ei la calea greșită (de exemplu, / sau /etc) poate rupe întregul sistem.

sudo chown -h username:groupname symlink

Fără -h, chown urmărește legăturile simbolice și schimbă proprietatea fișierului țintă, nu a symlink-ului în sine. Folosește -h când vrei în mod specific să schimbi proprietatea symlink-ului.

Previzualizare Proprietate Înainte de Efectuare Modificări

Pentru arbori de directoare mari, previzualizează întotdeauna înainte de a aplica o chown recursivă:

find /path -maxdepth 2 -printf '%u:%g %pn' | head

Aceasta arată proprietarul și grupul curent pentru primele două niveluri ale arborelui de directoare, permițându-ți să confirmi domeniul de aplicare al modificării înainte de a te angaja.

Confirmare Identitate Actuală

Înainte de a efectua modificări, verifică întotdeauna cine ești și în ce context operezi. Aceasta previne modificări accidentale efectuate sub contul greșit.

Verificare Utilizator Curent

whoami

Obținere Informații Identitate Completă (Utilizator, Grupuri, UID-uri)

id

Exemplu de ieșire:

uid=1000(alice) gid=1000(alice) groups=1000(alice),27(sudo),1001(docker)

Vedere Cine Este Conectat la Sistem

who
w

Verificare Utilizator Original Când Folosești sudo

Când escaladezi cu sudo, două variabile de mediu sunt relevante:

echo $USER        # The current effective user (root)
echo $SUDO_USER   # The original user who invoked sudo (e.g., alice)

Această distincție contează în scripturi — $SUDO_USER îți spune cine a rulat de fapt comanda.

Modificare Atribute Cont Utilizator

Uneori „schimbarea utilizator” înseamnă modificarea contului în sine: redenumire, schimbare UID sau ajustare a apartenențelor la grupuri. Acestea sunt modificări permanente la nivel de sistem care pot afecta conectări, permisiuni de fișiere și acces la servicii.

> Bună practică: Înainte de a efectua modificări de cont, asigură-te că utilizatorul este deconectat și niciun proces nu rulează sub acel cont.

Redenumire Utilizator (Schimbare Nume Utilizator)

sudo usermod -l newname oldname

Aceasta schimbă numele de conectare dar nu redenumește automat directorul home. Pentru a muta și redenumi și directorul home:

sudo usermod -d /home/newname -m newname

Dacă utilizatorul are un grup primar cu același nume ca vechiul nume de utilizator (care este implicit pe majoritatea distribuțiilor), actualizează și numele grupului:

sudo groupmod -n newname oldname

Schimbare UID Utilizator

sudo usermod -u 2001 username

> Critic: După schimbarea unui UID, toate fișierele deținute anterior de UID-ul vechi vor apărea ca deținute de un ID numeric necunoscut. Trebuie să remediezi aceasta imediat:

sudo find / -user oldUID -exec chown -h username {} ;

Înlocuiește oldUID cu UID-ul numeric anterior. Această comandă caută pe întregul sistem de fișiere fișiere cu UID-ul vechi și le reatribuie noului nume de utilizator.

Adăugare Utilizator la Grup

Cel mai comun caz de utilizare este acordarea accesului sudo unui utilizator:

Debian/Ubuntu:

sudo usermod -aG sudo username

RHEL / AlmaLinux / Rocky Linux:

sudo usermod -aG wheel username

Steagul -a este critic — adaugă utilizatorul la grup fără a-l elimina din grupurile existente. Omiterea -a va înlocui toate apartenențele la grupuri cu doar grupul specificat.

Verificare Apartenență Grup

id username

Foaie de Referință Rapidă

Iată o referință consolidată pentru toate operațiile de comutare și gestionare a utilizatorilor acoperite în acest ghid:

SarcinăComandă
Comutare la alt utilizator (shell de conectare)su - username
Comutare la alt utilizator via sudosudo -iu username
Deschidere shell rootsudo -i
Executare comandă ca alt utilizatorsudo -u username command
Executare comandă ca postgressudo -u postgres psql
Verificare utilizator curentwhoami
Verificare identitate completă și grupuriid
Verificare invocare sudo originalecho $SUDO_USER
Schimbare proprietar fișiersudo chown username file
Schimbare proprietar și grup fișiersudo chown username:group file
Schimbare proprietate recursivăsudo chown -R username:group /path
Previzualizare proprietate directorfind /path -maxdepth 2 -printf '%u:%g %pn'
Schimbare utilizator serviciu (systemd)sudo systemctl edit myservice.service
Reîncărcare systemd după modificărisudo systemctl daemon-reload
Verificare utilizator proces###PP
15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți