Ir al contenido principal

Como cambiar el nombre de la usuaria en GNU/Linux

Hola amigas de la terminal,
Una de estas cosas que nos pasan. Creas tu usuaria en un systema Unix - un momento de estres - ¡Caray, qué le pongo! Y ponemos algo que no acaba de sentar bien.

Acabo de cambiar el mio, así que os cuento como lo hize.

Ante todo, hay que comprobar si lo podemos hacer: - tengo algnos servicios gordos corriendo desde mi usuaria? - tengo algunas configuraciones especificas con la ruta absoluta de mi usuaria? - tengo acceso root a la máquina? → ¡si! ←

Si las respuestas a las primeras dos preguntas son si - puede haber problemas, dicen por allí.

'Volvamos a nuestras ovejas' como dicen los franceses.

1. Cierra las cosas que tienes corriendo a tu nombre.

Para comprobar qué procesos hay hacemos la fórmula mágica de:
# ps aux | grep 'mi_usuaria'
La línea de la búsqueda misma debería salir (tanto ps como el grep) pero obviamente no nos preocupa. Lo otro hay que cerrar.

En mi caso, el cambio es a la raspi, a la que me logueo por remoto. Así que cerré mi sesión desde la usuaria anterior y me comecté de nuevo con un usuario compartido que tenemos.

Recuerda que si abres la consola bash con una usuaria y después haces su a otro, el segundo proceso depiende del primero, así que para lo que necesitamos no sirve.

2. Cambio de la usuaria y su grupo principal

# su Los cambios harémos desde la root.

# id vieja
comprobamos la UID (user ID) de la vieja.
También podemos comprobar solo los grupos:
# groups vieja
comprueba a qué grupos pertenece tu 'vieja' usuaria.

# usermod -l nueva vieja
Este comando cambia el nombre de tu usuaria de la antigua a la nueva, guardando el UID original. Lo podemos comprobar con:
# id nueva
El GNUlinux opera sobre las UID y no sobre los 'nombres', por lo que el cambio es posible. Lo mismo hacemos sobre los grupos:
# groupmod -n nueva vieja

Y comprobamos que todo correcto en los grupos de la 'nueva': # groups nueva.

3. Home

Ahora bien, el cambio se ha efectuado a nivel del nombre de la usuaria asignado a la misma UID, pero no se ha modificado nada a nivel del systema de ficheros / estructura de carpetas. O sea nos tenemos que mover de casa, o más bien cambiarle de nombre:
# mv /home/vieja /home/nueva

Procura que anteriormente a ejecutar este comando la ruta /home/nueva no exista, ya que el resultado no será el mismo, como podéis ver aquí (y no, en principio no depiende de si hay '/' al final):

(submarin)$ ls
1  2
(submarin)$ mv 1/ 3
(submarin)$ ls
2  3
(submarin)$ mv 3/ 2
(submarin)$ ls
2
(submarin)$ ls 2/
3
(submarin)$ 

Ahora podemos ya asignarnos la nueva casa: # usermod -d /home/nueva/ nueva

Ya pueden loguearse con su nueva usuaria :) Comprueben si todo funciona y si necesitan cambiar algo.

Salut i nova vida!