Per mil motius diferents, podeu desitjar canviar un nom d’usuari en una instal·lació GNU/Linux. Això implica canviar no només el nom de l’usuari (el nom que emprem per al login), sinó també el del directori associat (no és obligatori, però és còmode) i el propietari de tot el contingut d’aquest (això sí que és imprescindible). Es pot realitzar el procés manualment, però és una mica extens i, a més a més, és fàcil cometre-hi errors.
Per sort, mentre cercava la manera fer-ho, vaig trobar algunes referència l’ordre usermod, que permet fer-ho tot en una sola línia, molt més ràpid, molt més senzill i molt més segur.
Per evitar problemes durant el procés, cal sortir de l’usuari que volem modificar i entrar en una consola com a administrador. Per exemple, després de sortir de l’usuari, podem entrar en un altre que sigui administrador, o podem accedir a una consola amb Ctrl+Alt+F1 i entrar directament com a root.
Un cop heu entrat en la consola com a administradors, si teniu que l’antic usuari és usuarivell i voleu canviar-lo a usuarinou (poc original, ja ho sé) i, ja que hi sou, voleu assignar-li una nova contrasenya (contrasenyanova, és clar), podeu emprar la següent ordre:
# usermod -d usuarinou -m -l usuarinou -p contrasenyanova usuarivell
L’expliquem per parts:
- usermod és l’ordre que ho farà tot en un sol pas; exigeix permisos d’administrador;
- -d usuarinou establirà el nou nom del directori home de l’usuari modificat; -m mourà a aquest nou directori el contingut original (cal indicar-hi la ruta completa: /home/usuarinou);
- -l usuarinou estableix el nou nom per al login (el nou usuari);
- -p contrasenyanova estableix la nova contrasenya de l’usuari un cop modificat; cal anar amb compte perquè, si l’escrivim aquí, queda visible (i accessible a través de l’historial de root); si voleu evitar problemes de seguretat, podeu ometre aquest fragment (com, al final, vaig fer) i modificar la contrasenya posteriorment;
- usuarivell és el nom de l’usuari que estem canviant i ha d’aparèixer al fina de la línia.
En el meu cas, l’usuari vell era ggrappa i volia canviar-lo a giorgio, de manera que l’ordre ha quedat així:
# usermod -d /home/giorgio -m -l giorgio ggrappa
Tanmateix, no tot ha anat bé: n’ignoro els motius, però no s’ha creat el nou directori ni, lògicament, s’hi ha traslladat el contingut des de /home/ggrappa a /home/giorgio. Així, he hagut d’acabar el procés movent manualment el directori vell a la nova ubicació:
# mv /home/ggrappa /home/giorgio
Després, he canviat el propietari del directori i de tot el seu contingut (opció -R, recursiu) al nou usuari:
# chown -R giorgio:giorgio /home/giorgio
I, finalment, he creat una nova contrasenya amb:
# passwd giorgio
El dia que esbrine per què no ha funcionat l’ordre usermod tal i com esperava, ja corregiré aquesta entrada. Mentrimentres, qualsevol aclariment dels lectors serà més que benvingut.

