Administrar usuarios y grupos en Linux

En este tutorial aprenderemos cómo crear y gestionar usuarios y grupos en Linux.

 

Vamos a ver algunas de las dudas más frecuentes acerca de usuarios y grupos en Linux, como por ejemplo cómo listar usuarios en Linux por medio de la terminal (nos valdremos de varios comandos), cómo listar los grupos en Linux, cómo borrar usuarios, cómo crear usuarios en Linux, y muchas opciones más que seguro te serán útiles.

 

Usuarios Grupos Linux
 
En este artículo:

 

 

 

 

Cuestiones importantes sobre usuarios y grupos Linux

 
—> La organización de usuarios de Linux en grupos de usuarios, permite otorgar diferentes permisos a cada grupo, y de esta forma gestionar “en bloque” qué grupos tienen permiso y para qué.
 


En Linux los usuarios pertenecen a un grupo primario y un grupo secundario. Podemos modificar los grupos a los que pertenece un usuario si es necesario. De hecho en algunas ocasiones, por cuestión de permisos (para modificar o acceder a ficheros/directorios) será necesario añadir un usuario a un grupo, o añadir a un usuario como miembro de un grupo secundario.
 
Relacionado : Usuarios y grupos Samba en Linux
 

  • Es importante conocer los términos UID (User ID o Identificador de Usuario) y GID (Group ID o Identificador de grupo).
  • El usuario root siempre tiene asignado el UID 0.
  • Los UID del 0 al 99 se reservan para usos administrativos.

 

 

Comandos y archivos importantes para crear y gestionar usuarios y grupos en Linux:

 

  • useradd : Añadir un usuario
  • usermod : Modificar un usuario
  • userdel : Eliminar un usuario
  • groupadd : Añadir un grupo.
  • groupmod : Modificar un grupo.
  • groupdel : Eliminar un grupo.
  • el archivo /etc/passwd : en este archivo podemos ver todos los usuarios creados, sus UID y sus GID.
  • el archivo /etc/group : En este archivo podemos ver los GID de los grupos existentes en el sistema, y los usuarios pertenecientes a cada grupo.
  • el archivo /etc/shadow : En este archivo se encuentran cifradas las contraseñas de los usuarios.

 

 

CREAR USUARIOS LINUX

 
Al crear un usuario en Linux, este recibe un UID (Identificador de Usuario Unico)

Es un ID, un código único para el usuario. Al crear un usuario, a su vez se crea un grupo para ese usuario y un GID (Identificador Único de Grupo) para ese grupo del nuevo usuario.

Comando para crear usuarios: useradd
 

 

opciones del comando useradd:

 

-m   crea automáticamente el directorio personal del usuario

-g    grupo principal al que añadimos el usuario

-G   grupo secundario

-d   permite especificar el directorio personal del usuario, que será creado a la vez que el usuario

-s   especifica el shell por defecto que utilizará el usuario

 

 

Crear usuarios Linux por terminal (Ejemplo de uso de useradd)

 

Crear usuario, asignarlo a un grupo, especificar su directorio personal y el shell a utilizar:

añadir usuario a grupo linux
 

useradd -g grupo1 -d /home/usuario1 -m -s /bin/bash usuario1

 

Evidentemente, antes de realizar este paso hemos creado el grupo1, de esta forma:

groupadd grupo1

 

 

Después asignamos un password a esa nueva cuenta de usuario Linux:

crear password usuario linux

passwd usuario1

 

Y después de crear el usuario y asignarlo al grupo1 con el comando anterior (useradd -g grupo1), ejecutamos cat /etc/passwd para ver los GID de los grupos en los que se encuentra el nuevo usuario creado:

cat /etc/passwd

 
archivo /etc/passwd - grupos linux

Podemos ver que el usuario1 se encuentra en el grupo que tiene asignado el GID 1004 (tanto el grupo primario como el secundario).
 

 

Y después ejecutamos cat /etc/group para ver qué grupos corresponden a los GID´s en los que se encuentra el nuevo usuario:

cat /etc/group

 

grupos usuarios linux

 

 

Cómo ver los usuarios en Linux por consola

 
Para listar los usuarios en Linux, podremos hacerlo mostrando el contenido del fichero /etc/passwd, que es el archivo donde se encuentran los usuarios que pueden acceder al sistema. Podemos mostrar el contenido del fichero /etc/passwd con el comando “cat” o el comando “more“.

cat /etc/passwd

 

 

OTRAS FORMAS DE VER LOS USUARIOS EN LINUX

 
También podríamos utilizar los comandos Linux more y less que nos muestran el resultado de forma paginada, más agradable de ver:

more /etc/passwd
less /etc/passwd

 

Aunque aún podemos mejorar el resultado mostrado por pantalla, seleccionando solamente los campos deseados (en este caso el campo username o nombre de usuario), usando también una tubería (grep) y el comando cut, así:

cat /etc/passwd | cut -d":" -f1

 

 

ver usuarios linux con el comando awk

awk -F':' '{ print $1}' /etc/passwd

 

 

ver usuarios linux con el comando getent

getent passwd

 

 

ver usuarios linux con el comando compgen

compgen -u

 
Al visualizar el contenido completo del archivo /etc/passwd, veremos varios datos que debemos conocer:

  • El nombre de la cuenta
  • El UID de la cuenta de usuario.
  • el GID del grupo principal del usuario.
  • el directorio de trabajo del usuario
  • el interprete de comando del usuario

 

Aquí vemos el resultado del comando anterior:

ver usuarios Linux

 

—> Se puede apreciar que muchos usuarios tienen al final:

/usr/sbin/nologin

 

esto significa que estos usuarios que tienen configurada esta ruta como shell, realmente no pueden iniciar sesión; recibirán un mensaje avisando de ello:

This account is currently not available

Esto suele ser porque son usuarios del sistema, para varios procesos Linux o software del sistema.
 

 

Cómo ver las contraseñas de usuarios en Linux

 
Las contraseñas de los usuarios en Linux se almacenan cifradas en el archivo

/etc/passwd

 
Así que no podemos averiguar las contraseñas de los usuarios, pero podemos cambiar la contraseña de un usuario si no la recordamos.
 

 

Cómo cambiar contraseñas de usuario

 
Podemos cambiar la contraseña de un usuario con el comando passwd y el nombre de usuario.

así:

passwd test

 
Cambiar la contraseña de usuario en Linux
 

 

Modificar Usuarios con el comando usermod

 

Podemos modificar usuarios en Linux con el comando usermod

 

Vamos a ver varios ejemplos de cómo modificar usuarios.

 

  • Modificar el directorio de trabajo de un usuario:
usermod -d /var/www test

El nuevo directorio de trabajo del usuario test será /var/www

 

  • Renombrar un usuario
usermod -l test nuevotest

Ahora el usuario test se llamará nuevotest

 

  • Modificar el grupo primario de un usuario
usermod -g apache test

Ahora el grupo primario del usuario test será el grupo apache

 

  • Modifica el grupo suplementario de un usuario existente (sustituyendo el grupo anterior)
usermod -G nuevogrupo test

 

  • Añadir un grupo suplementario de un usuario existente (añadiendo el grupo sin sustituir el primario en el que ya está el usuario)
usermod -a -G nuevogrupo test

 

  • Modificar la fecha de expiración de una cuenta de usuario:
usermod -e 2021-03-15 test

Ahora la cuenta de usuario expirará el 15 de marzo de 2021

 

  • Bloquear una cuenta de usuario:
usermod -L test

 

  • Desbloquear una cuenta de usuario
usermod -U test

 

 

Borrar usuarios linux con userdel

 

userdel -r test

El usuario test ha sido eliminado.
 

 

CREAR GRUPOS DE USUARIOS EN LINUX

 

Creamos diversos grupos de usuarios con el comando groupadd:

groupadd grupo1
groupadd grupo2
groupadd grupo3

 

crear grupos de usuarios en linux
 

Con el comando cat /etc/group

comprobamos el GID de los nuevos grupos de usuarios creados (visualizando el contenido del archivo /etc/group):

 

GID de grupos usuarios Linux
 

 

¿ Cómo listar los grupos en Linux?

 
Podremos ver los grupos que existen dentro de un sistema linux con:

cat /etc/group

De esta forma mostramos todos los grupos que existen en el sistema.
 

Usando “more” el contenido del fichero se mostrará permitiendo la paginación (muestra las páginas una a una, y pasamos a la siguiente pulsando la tecla de espacio.

more /etc/group

 

ver grupos linux
 

 

Ver los grupos a los que pertenecen los usuarios

 
Otra forma de ver los grupos a los que pertenecen los usuarios es usando el comando cut con el archivo /etc/passwd

así:

cut -d: -f1,4 /etc/passwd

 

Aquí vemos la salida del comando:

ver los grupos de los usuarios linux
 

 

Ver Usuarios de un grupo Linux

 
Podremos ver los usuarios que hay dentro de un grupo con el comando getent:

getent group ssh

mostrará los usuarios dentro del grupo “ssh

ver usuarios de un grupo linux
 

 

Cambiar grupo primario de un usuario en Linux

 

sudo usermod -g grupo1 -a usuario1

Así añadimos como grupo primario el “grupo1” para el usuario “usuario1
 

 

Añadir un usuario a un grupo secundario en Linux

 

sudo usermod -G grupo2 -a usuario1

Este ejemplo añadirá al usuario “usuario1” al grupo “grupo2“.

 

 

Eliminar grupos con groupdel

 
Eliminamos un grupo con “groupdel“, seguido del grupo que queremos eliminar.

sudo groupdel nuevogrupo

 

 

Quitar usuario de un grupo con deluser

 
Si queremos sacar de un grupo a un usuario, usaremos el comando deluser así:

deluser usuario grupo

Ahora el usuario “usuario” ya no pertenece al grupo “grupo
 


 

Otros COMANDOS para trabajar con Usuarios y grupos Linux

 

¿Qué hace el comando id en Linux?

 
id es un comando de linux que permite conocer los datos de un usuario : su identificador de usuario (ID), su identificador de grupo (GID), y el nombre del grupo o grupos a los que pertenece el usuario.
Para ver los datos relativos a un usuario, ejecutamos:

id nombreusuario

o directamente

id

y veremos los datos del usuario actual.
 
Ejemplo:

ID de usuarios Linux
 

Podemos ver que si tecleamos:

id usuario1

veremos los datos del usuario1: su UID, el GID y el nombre del grupo al que pertenece dicho usuario, y los grupos en los que se encuentra incluido (en este caso solo se encuentra en el grupo con GID 1004, llamado grupo1)
 
También vemos que el usuario root posee el UID 0. Al igual que su GID es 0. A la cuenta root siempre se le asigna el UID 0.
 

 

whoami

 
whoami es un comando de linux que muestra el nombre de usuario que estamos utilizando.

whoami

 
whoami linux - mostrar nombre usuario
 

 

Con toda esta info, comandos y archivos necesarios, podremos administrar correctamente nuestros usuarios y grupos en Linux.

 

Otros enlaces con más info sobre Usuarios y Grupos en Linux: