Administrar usuarios y grupos


Índice:

      Resumen

         Resumen información usuario

         Crear un usuario

         Crear un grupo

         Grupos de un usuario

         Usuarios de un grupo

         Información extensa

      Cuestiones importantes sobre usuarios y grupos Linux

      Archivos

         El archivo /etc/passwd

         El archivo /etc/group

      Obtener información de Usuarios y Grupos.

         Resumen información usuario

         Listar usuarios del sistema

         Listar los grupos del sistema

         Listar usuarios de un grupo

         Listar grupos de un usuario

         Obtener nombre del grupo principal de un usuario

      Usuarios y Grupos - Comandos importantes

      Usuarios -  Crear Usuarios (useradd)

         Cómo cambiar contraseñas de usuario

      Usuarios -  Modificar Usuarios (usermod)

         Modificar el directorio de trabajo

         Renombrar un usuario

         Modificar el grupo primario

         Modificar/Cambiar el grupo suplementario

         Añadir uno o varios grupos suplementarios

         Quitar usuario de un grupo con deluser

         Modificar la fecha de expiración de una cuenta de usuario

         Bloquear una cuenta de usuario

         Desbloquear una cuenta de usuario

      Usuarios -  Borrar usuarios (userdel)

      Grupos - Crear grupos de usuarios (groupadd)

      Grupos - Eliminar grupos (groupdel)

      Grupos / Usuarios - Administrar grupos (gpasswd)

      Otros comandos para trabajar con Usuarios y grupos Linux

         id

         whoami

      Enlaces


Resumen  ⮴  

Resumen información usuario  ⮴  

    id user


Crear un usuario  ⮴  

    useradd user 


Crear un grupo  ⮴  

    groupadd group


Grupos de un usuario  ⮴  

    groups user


Usuarios de un grupo  ⮴  

    cut -d: -f1,4 /etc/group | grep grupo_name:  


Información extensa  ⮴  

The Linux man-pages project


Cuestiones importantes sobre usuarios y grupos Linux  ⮴  

La organización de usuarios de Linux en grupos de usuarios, permite otorgar di-

ferentes permisos a cada grupo, y de esta forma gestionar “en bloque” qué gru-

pos tienen permiso y para qué.


En Linux los usuarios pertenecen a un grupo primario y un grupo secundario. Po-

demos 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.


Es importante conocer los términos:


.- UID (User ID o Identificador de Usuario)

.- 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.


Archivos  ⮴  

Los archivo que almacenan información sobre usuarios y grupos son:


/etc/passwd

/etc/shadow

/etc/group


De estos archivos con los comando cat, cut y grep puede obtenerse información

sobre usuarios y grupos. Ver el apartado Obtener información de Usuarios y

Grupos.


El archivo /etc/passwd  ⮴  

Archivo ascii donde cada línea guarda la información de un usuario definido

en el sistema.


Sintaxis:

name:password:UID:GID:GECOS:directory:shell


Definición de los campos:

Campo           Descripción

name            Nombre del usuario con el cual entra al sistema.

password        Campo obsoleto, se deja por compatibilidad con versiones

anteriores.

UID             Id del usuario.

GID             Número del grupo primario asociado al usuario

GECOS           Comentario breve del usuario

directory       Directorio de trabajo del usuario

Shell           Shell definida para el usuario


El archivo /etc/group  ⮴  

Archivo ascii donde cada línea guarda la información de un grupo definido en

el sistema.


Sintaxis

group_name:password:GID:lista-usuarios


Campo Descripción

group_name        Nombre del grupo

password          Usado para poner la contraseña del grupo

GID               Número de grupo

Lista-usuarios    Lista de usuarios que tiene a este grupo como grupo

secundario.


Obtener información de Usuarios y Grupos.  ⮴  

Partiendo de la información contenida en los archivos /etc/passwd, /etc/shadow

y /etc/group se puede obtener información concreta de usuarios y grupos.


Resumen información usuario  ⮴  

    id user


Listar usuarios del sistema  ⮴  

Listar exclusivamente el nombre de los usuarios

    cut -d: -f1 /etc/passwd


Listar el nombre de los usuarios y el GUI del grupo principal del usuario

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


También podremos hacerlo mostrando el contenido con los comandos:

        cat /etc/passwd


        more /etc/passwd


        less /etc/passwd


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


        getent passwd


        compgen -u


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í:

        cut -d: -f1 /etc/passwd


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

        cut -d: -f1,3,4,6,7 /etc/passwd

        Ver la estructura de /ect/passwd para indicar los campos deseados.


En el resultado de los comandos anteriorese e puede apreciar que muchos usua-

rios 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.


Listar los grupos del sistema  ⮴  

Listar exclusivamente el nombre de los grupos

    cut -d: -f1 /etc/group


Listar el nombre de los grupos y su GUI

    cut -d: -f1,3 /etc/group


Listar el nombre de los grupos y la lista de usuarios que tiene a

este grupo como grupo secundario.

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


Listar el nombre de los grupos secundario de un usuario.

Si hubiera un grupo con el nombre del usuario dado también aparecerá esta

línea.

    cut -d: -f1,4 /etc/group | grep -i juanp


Listar usuarios de un grupo  ⮴  

      cut -d: -f1,4 /etc/group | grep grupo_name:


Listar grupos de un usuario  ⮴  

    groups juanp

    id -Gn juanp


Obtener nombre del grupo principal de un usuario  ⮴  

    id -gn juanp    


Usuarios y Grupos - Comandos importantes  ⮴  

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.


gpasswd   : Administrar grupos.


Usuarios -  Crear Usuarios (useradd)  ⮴  

useradd


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

Unico)


Al crear un usuario, a su vez se crea un grupo para ese usuario y un GID pa-

ra ese grupo del nuevo usuario.


Comando para crear usuarios:


    useradd user 


    id user      

    cut -d: -f1,3,4,6,7 /etc/passwd | grep user

El primer comando lo crea, el segundo y tercero muestran la información so-

bre el usuario creado.


    USERNEW=user && useradd $USERNEW && id $USERNEW &&  cut -d: -f1,3,4,6,7 /etc/passwd | grep $USERNEW

Todo junto, a la variable de ambiente USERNEW hay que asignarle el nombre

del usuario que se va a crear.


Tras crea el usuario:


.- Ver información del usuario:

          id user


.- Asignar contraseña:

          passwd user


.- Asignar / modificar grupo principal y secundarios:


Por defecto al crear un usuario se crear un grupo con el mismo nombre

que se asigna como grupo principal al usuario.


Para modificar/asignar el grupo principal

          useradd -g grupo_princial


Para añadir un grupo secundario:

          useradd -aG grupo_secundario


Para sustituir el/los grupo(s) secundario(s) por uno nuevo:

          useradd -G new_grupo_secundario


Cómo cambiar contraseñas de usuario  ⮴  

Podemos cambiar la contraseña de un usuario con el comando passwd y el nom-

bre de usuario.

      passwd test


Usuarios -  Modificar Usuarios (usermod)  ⮴  

usermod.


Modificar el directorio de trabajo  ⮴  

    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  ⮴  

    usermod -g apache test

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


Modificar/Cambiar el grupo suplementario  ⮴  

Modifica el grupo suplementario de un usuario existente, sustituye el grupo

anterior:

      usermod -G nuevogrupo test


Añadir uno o varios grupos suplementarios  ⮴  

Añadir un grupo suplementario de un usuario existente, añade el grupo sin

sustituir el primario en el que ya está el usuario:

      usermod -a -G nuevogrupo test

      usermod -aG nuevogrupo test

      usermod -aG nuevogrupo, nuevogrupo2, nuevogrupo3 test      


Quitar usuario de un grupo con deluser  ⮴  

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

      deluser usuario grupo


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


Usuarios -  Borrar usuarios (userdel)  ⮴  

userdel

    userdel -r test

El usuario test ha sido eliminado.


Grupos - Crear grupos de usuarios (groupadd)  ⮴  

groupadd


    groupadd grupo1


Grupos - Eliminar grupos (groupdel)  ⮴  

groupdel

    sudo groupdel name_grupo_a_eliminar


Grupos / Usuarios - Administrar grupos (gpasswd)  ⮴  

gpasswd


Asigna varios usuarios al grupo, elimina los que hubiera anteriormente

    gpasswd -M user1,user2 grupo    


Añade varios usuarios al grupo

    for u in {user1, user2, ...} ; do  gpasswd -a "$u" grupo ; done


    Muestra los usuarios del grupo

    cut -d: -f1,3,4 /etc/group | grep grupo:


Añade un usuario al grupo

    gpasswd -a user grupo    


Elimina un usuario del grupo

    gpasswd -d user1 grupo    


Otros comandos para trabajar con Usuarios y grupos Linux  ⮴  

id  ⮴  

id es un comando de linux que permite conocer los datos de un usuario:

Identificador de usuario (UID)

Identificador de grupo (GID)

Nombre del grupo o grupos a los que pertenece el usuario


Para ver los datos relativos a un usuario, ejecutamos:

        id nombreusuario

Para ver los datos del usuario actual

        id


whoami  ⮴  

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

utilizando.

        whoami


Enlaces  ⮴  

The Linux man-pages project


El Taller del Bit

link=http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m1/usuarios_y_grupos_de_usuarios_en_linux.html

link=https://www.lpi.org/our-certifications/lpic-1-overview

link=https://www.linuxtotal.com.mx/index.php?cont=info_admon_008