Comandos Linux para la Gestión de Usuarios

Hay varios comandos y formas manuales para crear usuarios y gestionar sus opciones, en esta entrada explicamos cada una de ellas y ponemos ejemplos en cada situación.

Si además te interesa gestionar grupos puedes visitar: Gestionar Grupos a los que pertenecen directorios y archivos

Veremos las siguientes cosas:

Gestión de usuarios en Linux por Comandos

Comandos para la gestión de usuarios

Conceptos Generales

Dato Descripción
ID Es el identificador de usuario, es un dato único
GID Es el identificador del grupo al que pertenece el usuario por defecto
Texto descriptivo de usuario En algunos sistemas este campo se utiliza para incluir el nombre completo del usuario y sus datos personales

Crear Usuarios

Hay distintas formas de crear usuarios ya sea con más detalles personalizando cada parámetro sobre las opciones de dicho usuario como por ejemplo la shell que usará, el directorio que usará para trabajar…

Veremos a continuación 3 formas de crear un usuario:

Crear usuarios mediante el comando interactivo adduser

Esta se podría decir que es la forma más sencilla de crear un usuario, para mi no es la mejor opción pero cumple perfectamente su objetivo y se puede usar perfectamente sin ningún tipo de problema.

El comando “adduser” permite crear cuentas de usuarios en un modo más automático, también se puede utilizar para añadir un usuario existente a un grupo existente.

Crear el usuario laguialinux preguntando paso a paso cada dato y mostrando resultado:

sudo adduser laguialinux

Crear el usuario laguialinux y lo añade al grupo “informaticos”

sudo adduser laguialinux informaticos

En el caso de añadir un usuario a un grupo, este debe existir previamente.

Crear usuarios con el comando personalizado useradd

El comando “useradd” permite crear usuarios definiendo directorio home, grupos y otras opciones. Un ejemplo del comando useradd sería:

useradd -d /home/usuario2 -m -g usuarios -s /bin/bash usuario2

Modificador Función
-c Descripción del usuario
-d Directorio home (no lo crea, debe existir)
-e Fecha de caducidad de la cuenta
-g Grupo por defecto (no lo crea, debe existir)
-G Otros grupos a los que pertenecerá a parte del principal
-s Shell que usará (/bin/bash)
-u Identificador del usuario (ID)
-m Crea el directorio home asignado con la opción -d

Crear un nuevo usuario perteneciente al grupo “admin”.

useradd -c “Name Surname ” -g admin -d /home/user1 -s /bin/bash user1

Para crear un usuario con un grupo primario distinto a su nombre, además que cree la carpeta de usuario y decirle cual es la carpeta de usuario, también que utilice el interprete de comandos /bin/bash. Sustituir el texto entre comillas por el que necesitéis:

useradd -g “grupo_primario” -d “directorio_personal” -m -s /bin/bash

Crear usuarios manualmente editando ficheros

Para crear un usuario de forma manual los pasos serían básicamente los 3 siguientes:

  • Editar nueva entrada en /etc/passwd
  • Crear el directorio de usuario “mkdir /home/newUser”
  • Crear contraseña para el usuario creado en /etc/shadow

Este es un proceso delicado, el cual no se recomienda hacer en entornos reales y sobre todo de producción, pero puede ser de gran utilidad para aprender y entender como funcionan los usuarios de forma interna en linux. Realmente los usuarios son unos objetos descritos en unos archivos, enlazados y asociados de tal manera que el sistema puede asociarlos con la propiedad de datos y directorio de trabajo independiente entre otras características.

Modificar Usuarios

Para modificar usuario usamos el comando “usermod” el cual tiene las mismas opciones que la de creación de usuario.

sudo usermod [opciones] usuario

Solo puede utilizarse por el superusuario.

Un ejemplo para cambiar atributos de un usuario llamado usuario:

sudo usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin usuario

Agregar el usuario user1 a otros grupos existentes, para incrementar sus permisos (en este caso, agregar la posibilidad de conectar dispositivos, configurar y utilizar el modem) se haría como en el siguiente ejemplo:

sudo usermod -aG plugdev,dialout,pip user1

Eliminar Usuarios

El comando “userdel” es el que se utiliza para eliminar usuarios.

Al borrar el usuario podemos borrar también el directorio home que le pertenece indicándolo con el parámetro para ello “-r” de la siguiente forma:
userdel -r usuario

Borrar un usuario llamado user1, pero no sus archivos ni su directorio home

sudo userdel user1

Borrar un usuario (‘-r’ elimina el directorio Home).

sudo userdel -r user1

Cambiar Propietario de un archivo o directorio

El comando “chown” permite cambiar al propietario y además el grupo de una misma vez

Asignar propietario:

sudo chown usuario documento.txt

Asignar propietario y además grupo:

sudo chown usuario:oficina

Mostrar Grupos de un usuario

El comando “groups” muestra los grupos a los que pertenece un usuario

groups

Si queremos ver los grupos a los que pertenece otro usuario distinto al nuestro lo indicamos después del comando de la siguiente manera:

groups usuario2

Cambiar Shell por Defecto

El comando “chsh” permite a un usuario cambiar su propia shell por defecto.

chsh

Al ejecutar el comando anterior nos preguntará de forma interactiva cual es el terminal que deseamos utilizar para el usuario que estamos utilizando actualmente.

Para establecer un intérprete de comandos distintos al que tenemos solo tenemos que escribir la ruta hacia el ejecutable, por ejemplo si actualmente tenemos bash y queremos usar zsh introduciremos cuando nos lo pida la siguiente ruta /bin/zsh.

Otros datos relacionados

Cambiar contraseña de usuario con el comando passwd:

sudo passwd “nombreUsuario”

Colocar un plazo para la contraseña del usuario.

En el siguiente ejemplo la clave expira el 31 de diciembre de 2021.

chage -E 2021-12-31 “nombreUsuario”

Comprobar que está correcta la sintaxis y el formato del fichero ‘/etc/passwd‘ y la existencia de usuarios.

sudo pwck

Comprobar la sintaxis correcta y el formato del fichero ‘/etc/group‘ y la existencia de grupos.

grpck

Registrar un nuevo grupo para cambiar el grupo predeterminado de los ficheros creados recientemente.

newgrp “nombreGrupo”

Puedes ver como gestionar grupos Gestionar Grupos a los que pertenecen directorios y archivos

Comandos Linux

Raúl Caro Pastorino

Informático, técnico en sistemas, redes, baja tensión (electricidad) y desarrollador de aplicaciones WEB. Soy un apasionado por GNU/LINUX y el software libre en general desde prácticamente el año 2001-2003 que comencé. Intento usar y trabajar siempre con código libre o abierto de forma profesional. Me apasiona la programación, la micro-electrónica, el diseño gráfico y edición multimedia. Fan de Raspberry y arduino. Programo en bash, python, php y javascript principalmente. Repositorios de código con git: https://gitlab.com/fryntiz https://github.com/fryntiz

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.