Cambiar el nombre de un usuario del sistema

Si en algún momento decidimos cambiar el nombre de un usuario de nuestro sistema, existe una forma rápida y segura para hacerlo.

Lo primero que hay que hacer es asegurarse de que el usuario que queremos cambiar no esté logueado ni tenga nada ejecutando. Para eso, lo mejor es poner el sistema en single-user como root e introducir la contraseña de root cuando nos pregunte (atención, no hacerlo de forma remota porque el networking se para en este runlevel):

init 1

En los siguientes comandos, el nuevo nombre del usuario será nuevo y el antiguo nombre del usuario será antiguo:

usermod -l nuevo antiguo
chfn -f nuevo nuevo
usermod -m -d /home/nuevo nuevo
groupmod -n nuevo antiguo

Para comprobar que todo está bien:

id nuevo
finger nuevo

Si todo está correcto, hay que salir del runlevel 1 con exit

Usuarios para daemons

Si queremos un usuario para un daemon como por ejemplo el Teamspeak3, IRC o lo que sea:

addgroup --system --gid 600 ts3
adduser --system --home /srv/teamspeak3-server --shell /bin/sh --no-create-home --uid 600 --gid 600 --disabled-password ts3

Luego para que se inicie el demonio al iniciar el sistema, crearemos un cronjob con el usuario en cuestión. En este caso, demonio para ts3, haremos como root:

su - ts3
crontab -e

Añadiremos al final de este fichero:

@reboot /srv/teamspeak3-server/ts3server_startscript.sh start >/dev/null 2>&1