Cum pot redenumi un utilizator unix? (Administrarea sistemului, Linux, Unix, Gestionarea Utilizatorilor, Conturi De Utilizator)

Szymon Jeż a intrebat.

Am un utilizator numit hedgehog și vreau ca el să se numească squirrel, , dar nu vreau să-i schimb ID-ul numeric de utilizator.
Cum pot realiza acest lucru?

Comentarii

  • Probabil pentru că redenumirea unui utilizator nu este tocmai o sarcină cu care un SA profesionist s-ar lupta. (Pentru întrebarea downvotes.) -.  > Por HopelessN00b.
  • @Jeznet Am downvoted pentru că nu numai că este o sarcină incredibil de simplă care ar putea fi rezolvată prin tastarea titlului tău în google, dar ai răspuns și la propria întrebare imediat ce ai pus-o. Mi s-a părut o pierdere de timp. –  > Por boburob.
  • @boburob „de asemenea, ai răspuns la propria întrebare imediat ce ai pus-o. Seemed a waste of time” vă rugăm să consultați: blog.stackoverflow.com/2011/07/… –  > Por Szymon Jeż.
  • @boburob Ați văzut căsuța de bifat care spune Answer your own question – share your knowledge, Q&A-style atunci când pui o întrebare? Este acolo cu un motiv și nu ar fi acolo dacă nu ar vrea să fie folosită. (În mod ideal la întrebări mai bune, dar indiferent de asta, downvoting-ul cuiva pentru că a răspuns la propria întrebare este o formă proastă). –  > Por HopelessN00b.
  • Aceasta este o sarcină atât de „simplă” încât toate cele trei răspunsuri sunt incomplete; Mediul desktop (Gnome/KDE/etc) poate avea propria idee despre numele de utilizator. Aceasta va veni de obicei cu un instrument User Mgmt care se sincronizează în jos; dar blocuri de construcție precum usermod nu se sincronizează în sus. Utilizând răspunsurile acceptate, veți avea un ecran de conectare care va arăta „arici”, dar logarea va fi ca „veveriță”. –  > Por MSalters.
3 răspunsuri
Szymon Jeż

În Linux, în cadrul sistemului de operare usermod comandă schimbă numele de utilizator. Aceasta modifică fișierele contului de sistem pentru a reflecta modificările care sunt specificate în linia de comandă.

Pentru a schimba doar numele de utilizator:

usermod --login new_username old_username

Pentru a schimba numele de utilizator și numele directorului de domiciliu:

usermod --login new_username --move-home --home path_to_the_new_home_dir old_username

Este posibil să doriți, de asemenea, să modificați numele grupului asociat utilizatorului:

groupmod --new-name new_username old_username

Comentarii

  • Puteți folosi usermod pentru a face totul usermod -l nume-utilizator nou -m -d /new/home/dir nume-utilizator vechi.  > Por user9517.
  • Rețineți, de asemenea, că nici grupul nu este modificat. Dacă aveți nevoie să redenumiți grupul old-user-name grup, utilizați # groupmod -n new-user-name old-user-name. –  > Por alxs.
  • Pentru sistemele care utilizează autofs, , ar trebui să actualizați și /etc/auto.home. Tocmai am dat peste asta. –  > Por Steven C. Howell.
  • S-ar putea să fie nevoie să rulați din nou visudo pentru a pune noul nume de utilizator în lista sudoers, dacă este cazul –  > Por Nagev.
  • Va trebui, de asemenea, să redenumiți fișierul crontab situat în /var/spool/cron/crontabs/ (în cazul în care aveți instalat vreun job) –  > Por Daniel F.
mimoralea

NOTĂ: nu încercați acest lucru dacă directorul dvs. este criptat! Dacă acesta este cazul dvs., ar fi bine să verificați mai întâi: https://askubuntu.com/questions/107410/can-you-unencrypt-remove-encryption-from-a-user-home-folder

Modul direct de a face acest lucru este:

  1. Creați un nou cont temporar cu drepturi sudo:

    sudo adduser temp
    sudo adduser temp sudo
    
  2. Ieșiți din contul curent și intrați din nou cu contul temporar.

  3. Redenumiți numele de utilizator și directorul:

    sudo usermod -l new-username -m -d /home/new-username old-username
    
  4. Redenumiți grupul de nume de utilizator implicit:

    sudo groupmod -n new-username old-username
    
  5. Ieșiți din contul temporar și intrați din nou în contul dvs. cu noul nume de utilizator.

  6. Elimină contul temporar:

    sudo userdel -r temp
    

Altfel, trebuie doar (1) să creați un nou utilizator și (2) rsync vechiul dosar de pornire al utilizatorului în cel nou și apoi (3) chown acesta.

Comentarii

  • În CentOS am avut nevoie, de asemenea, de `passwd temp’ și ‘usermod -aG wheel temp’. –  > Por Brian Z.

În general, puteți redenumi un utilizator schimbându-i numele de utilizator în fișierul /etc/passwd (și /etc/shadow, , dacă este cazul) fișiere. Pe majoritatea sistemelor unix, fișierul vipw este utilizată pentru a edita aceste fișiere (și pe multe sisteme include unele măsuri de siguranță pentru a vă asigura că nu încurcați lucrurile prea tare).
Consultați paginile de manual pentru passwd(5), , shadow(5), , și vipw(8) pentru mai multe informații.

Rețineți că metoda de mai sus nu redenumește alte lucruri care pot purta numele de utilizator original (directoarele de domiciliu fiind exemplul principal, grupurile personale per utilizator (pe sistemele care le folosesc) fiind un alt exemplu). Este posibil să doriți să le curățați și pe acestea, din motive de coerență, modificând câmpurile corespunzătoare din fișierul passwd și redenumind directoarele.


Mai multe sisteme de operare oferă o modalitate specifică sistemului de redenumire a utilizatorilor. De exemplu, multe sisteme Linux includ funcția usermod(8) iar pe AIX puteți schimba numele conturilor folosind comanda SMIT (sau smitty într-un terminal).
Aceste comenzi se vor ocupa adesea de elementele de curățare, cum ar fi redenumirea directoarelor de domiciliu, dacă le cereți acest lucru.