Comanda usermod
funcționează oarecum asemănător cu useradd, având chiar și majoritatea parametrilor asemănători. Utilitarul usermod schimbă un cont existent, spre deosebire de useradd care adaugă un cont nou.
Sintaxa de bază a comenzii este:
usermod [-c comment] [-d home_dir [-m]] [-e expire_date] [-f inactive_time]↵
[-g initial_group] [-G group [,...]] [-l login_name] [-p passwd] [-s shell]↵
[-u uid [-o]] [-L|-U] nume_utilizator
Diferențele majore dintre useradd și usermod sunt:
- usermod permite folosirea parametrului
-m
împreună cu-d
. Parametrul-d
singur schimbă directorul home al utilizatorului, dar nu mută niciun fișier; adăugând-m
,usermod
mută și fișierele utilizatorului respectiv în noua locație; - usermod suportă parametrul
-l
, care schimbă numele de login al utilizatorului într-o altă valoare specificată. De exemplu, scriindusermod -l dana alex
, vom schimba numele de utilizator din alex în dana; - putem bloca sau debloca parola unui user cu opțiunile
-L
, respectiv-U
. Aceste opțiuni duplică funcționalitatea oferită de passwd numai dacă fișierul folosit pentru stocarea parolelor este /etc/shadow.
Comanda usermod schimbă conținutul fișierului /etc/passwd, /etc/shadow sau /etc/group, în funție de parametrul folosit. Dacă se folosește -m
, usermod va muta și fișierele utilizatorului, așa cum am mai spus.
Schimbarea caracteristicilor unui cont în timp ce utilizatorul este conectat poate avea consecințe nefaste. Și este cu atât mai grav dacă se folosește combinația de parametri -m -d
, care face ca fișierele cu care lucrează un user în acel moment să fie mutate. Cele mai multe schimbări, cum ar fi schimbarea shell-ului default, nu-și fac efectul până când utilizatorul nu se deloghează și reloghează în sistem.
Dacă, de exemplu, schimbăm UID-ul unui cont, această acțiune nu-și va face efectul și asupra fișierelor existente, ceea ce va provoca pierderea accesului la fișierele vechi ale userului respectiv. De aceea, se va face manual update-ul de UID asupra tuturor fișierelor deținute de userul respectiv cu ajutorul comenzii chown
.
Când folosim opțiunea -G
pentru a adăuga un utilizator unui grup nou, trebuie să avem grijă să ne aducem aminte că toate celelalte grupuri ale utilizatorului respectiv care nu sunt listate în comandă vor fi șterse din dreptul acelui user. De aceea este o idee bună ca -G
să fie folosită împreună cu opțiunea -a
(append), astfel încât utilizatorul respectiv să fie adăugat unui grup suplimentar - în acest mod, nu este nevoie să listăm toate celelalte grupuri ale utilizatorului.
De exemplu, pentru a adăuga utilizatorul alex grupului Filme, vom scrie comanda de mai jos:
# groups alex
// afișează grupurile curente din care face parte userul alex
alex : alex users muzica
#
# usermod -a -G Filme alex
// adaugă userul alex în grupul Filme
#
# groups alex
// afișează noile grupuri ale userului alex
alex : alex users muzica Filme
#
Un utilizator normal nu va avea nevoie decât rareori să aplice mai mult decât ceea ce am explicat în cele două articole despre useradd și usermod. Amănunte de finețe despre acest utilitar pot fi obținute citindu-i pagina man: man usermod
[…] delete, and modify local user accounts (plus aici și […]