15%

Economisiți 15% la toate serviciile de găzduire

Testați-vă abilitățile și obțineți Discount la orice plan de găzduire

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ă 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.
  • 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)

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

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.

Comută la un alt utilizator cu un shell de conectare:

sudo -iu username

Execută o singură comandă ca un alt utilizator (non-interactiv)

sudo -u

sudo -u username whoami
sudo -u postgres psql

Execută cu un mediu curat, asemănător conectării:

sudo -iu username

Execută 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 care utilizator rulează un proces:

ps -eo user,pid,cmd | grep nginx

Sau:

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

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:

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șierelor (schimbând „utilizatorul” pentru fișiere)

chown (schimbare proprietar)

Schimbă proprietarul:

sudo chown username file.txt

Schimbă proprietarul și grupul:

sudo chown username:groupname file.txt

Recursiv (fii atent):

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

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

sudo chown -h username:group symlink

Sfat avansat: 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 care utilizator a rulat shell-ul curent prin sudo

echo $USER
echo $SUDO_USER

Schimbă numele de utilizator, UID, grupuri (modificare cont)

Redenumește un utilizator (nume utilizator)

sudo usermod -l newname oldname

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

sudo usermod -d /home/newname -m newname

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

sudo groupmod -n newname oldname

Schimbă UID (avansat; afectează proprietatea fișierelor)

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

„Foaie de trucuri” rapidă

Comută utilizator:

su - user
sudo -iu user

Execută comandă ca un alt utilizator:

sudo -u user command

Execută 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%

Economisiți 15% la toate serviciile de găzduire

Testați-vă abilitățile și obțineți Discount la orice plan de găzduire

Utilizați codul:

Skills
Începeți