El mantenimiento de usuarios en GNU/Linux se realiza utilizando las herramientas useradd, usermod, userdel y passwd. En este artículo se explica con ejemplos el uso de cada herramienta.
Para crear un nuevo usuario, por ejemplo "pepe", se utiliza "useradd" con los siguientes parámetros:
useradd -d /home/pepe -c "Usuario Pepe" -m -s /bin/bash pepe
El parámetro "-d" indica el directorio $HOME del usuario. La opción "-m" indica que se cree un directorio $HOME, en caso de no existir, utilizando el directorio esqueleto "skeleton" que se encuentra en "/etc/skel". El parámetro "-c" se utiliza como texto descriptivo del login. Por último, el parámetro "-s" indica el shell a utilizar, en este caso "bash". El resto de los parámetros se obtienen automáticamente desde el archivo "/etc/login.defs" dependiendo de cada distribución.
Para asignarle un password al nuevo usuario "pepe" se utiliza la herramienta "passwd":
passwd pepe
Esta herramienta permite configurar muchas opciones adicionales, por ejemplo el tiempo de expiración del password (mediante la opción "-x"). Además es posible realizar otras tareas, como bloquear una cuenta y eliminar la contraseña (con las opciones "-l" y "-d" respectivamente).
Para eliminar un usario se utiliza la herramienta "userdel":
userdel -r pepe
La opción "-r" elimina el directorio $HOME del usuario.
Para realizar modificaciones sobre usuarios se utiliza "usermod". Algunos ejemplos:
Agregar un usuario existente (pepe) a un grupo existente (root):
usermod -a -G root pepe
Mover el directorio $HOME del usuario "pepe" a "/home/nuevo_pepe":
usermod -d /home/nuevo_pepe -m pepe
Cambiar comentario del usuario "pepe":
usermod -c "Nuevo comentario" pepe
Cambiar nombre de usuario (login), por ejemplo de "pepe" a "pedro":
usermod -l pedro pepe
Para determinar a qué grupos pertenece un usuario se puede utilizar la herramienta "groups":
groups pepe
Además de agregar un usuario a un grupo con "usermod", es posible quitar a un usuario de un grupo secundario de la siguiente forma:
Listar a qué grupos pertenece el usuario:
id -nG pepe
Ejemplo de salida: "pepe grupo1 grupo2 root"
Luego utilizar "usermod" sólo con la opción "-G" para asignarle al usuario todos los grupos menos el grupo del cual se desea remover (por ejemplo si se desea remover a "pepe" del grupo "root"):
usermod -G {pepe,grupo1,grupo2} pepe
También es posible administrar grupos editando manualmente el archivo "/etc/group".
Es altamente recomendable leer los manuales de estas herramientas:
man useradd
man userdel
man usermod
man passwd
man groups
man id
Recuerden siempre, en el mundo GNU/Linux "man" es tu amigo...