15%

Save 15% on All Hosting Services

Test your skills and get Discount on any hosting plan

Utilizați codul:

Skills
Începeți
02.01.2026

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 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)

su - username
  • – (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:

su -

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)

sudo -i

Îț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:

sudo -iu username

Rulare a unei singure comenzi ca un alt utilizator (non-interactiv)

sudo -u

sudo -u username whoami
sudo -u postgres psql

Rulare cu un mediu curat asemănător conectării:

sudo -iu username

Rulare o comandă ca root

sudo systemctl restart nginx

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:

ps -eo user,pid,cmd | grep nginx

Sau:

ps -p <PID> -o user,group,cmd

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:

systemctl cat myservice.service

Caută:

  • User=

  • Group=

Exemplu de suprascriere (metodă sigură):

sudo systemctl edit myservice.service

Adaugă:

[Service]
User=myuser
Group=mygroup

Aplică:

sudo systemctl daemon-reload
sudo systemctl restart myservice.service

Verifică:

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

Schimbă proprietatea fișierului (schimbarea „utilizatorului” pentru fișiere)

chown (schimbare proprietar)

Schimbă proprietar:

sudo chown username file.txt

Schimbă proprietar și grup:

sudo chown username:groupname file.txt

Recursiv (fii atent):

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

Păstrează link-urile simbolice (evită schimbarea țintelor link-urilor):

sudo chown -h username:group symlink

Sfaturi avansate: Pentru arbori mari, previzualizează mai întâi:

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

Schimbă identitatea shell-ului tău curent vs. schimbarea contului în sine

Confirmă cine ești

whoami
id

Confirmă cine este conectat

who
w

Vezi ce utilizator a rulat shell-ul curent prin sudo

echo $USER
echo $SUDO_USER

Schimbă numele utilizatorului, UID, grupuri (modificarea contului)

Redenumește un utilizator (nume utilizator)

sudo usermod -l newname oldname

De asemenea, mută/renumește directorul home:

sudo usermod -d /home/newname -m newname

Actualizează și numele grupului (opțional):

sudo groupmod -n newname oldname

Schimbă UID

sudo usermod -u 2001 username

După schimbarea UID-ului, repară proprietatea fișierelor:

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

Adaugă utilizator la un grup (de exemplu, sudo)

sudo usermod -aG
sudo username # Debian/Ubuntu
sudo usermod -aG wheel username # RHEL/Alma/Rocky

Verifică:

id username

„Foile de trucuri” rapide

Schimbă utilizator:

su - user
sudo -iu user

Rulare comandă ca un alt utilizator:

sudo -u user command

Rulare shell root:

sudo -i

Schimbă proprietarul fișierului:

sudo chown -R user:group /path

Schimbă detaliile contului:

sudo usermod -l new old
sudo usermod -d /home/new -m new
sudo usermod -aG
sudo user
15%

Save 15% on All Hosting Services

Test your skills and get Discount on any hosting plan

Utilizați codul:

Skills
Începeți