Tutoriales

¿Cómo agregar, modificar y eliminar usuarios en Linux?

La gestión de usuarios en cualquier sistema operativo es una de las tareas básicas del día a día de un administrador de sistemas.

Para los sistemas operativos basados ​​en Linux, normalmente implica la creación de cuentas de usuario, la modificación de cuentas existentes (como cambiar su directorio de inicio, shell predeterminado, bloquear/desbloquear una o más cuentas y eliminar cuentas de usuario).

Antes de examinar los comandos y procesos que realizan estas tareas, examinemos brevemente cómo se clasifican las cuentas de usuario en Linux. Además, tenga en cuenta que los comandos dados funcionarán en las distribuciones de Linux más comunes a menos que se especifique explícitamente.

tipo de usuario

usuario raíz

Esta root El usuario es el administrador del sistema operativo y tiene todos los permisos para realizar operaciones.Por lo general, solo root Los programas básicos del sistema y las bibliotecas se pueden instalar, desinstalar o actualizar. Es la única cuenta de usuario con permisos para todo el sistema.

Por lo tanto, el usuario raíz es el usuario más poderoso del sistema.

usuario especial

Estos son usuarios que no han iniciado sesión.no tienen todos los privilegios root usuario. Dependiendo de la cuenta, asumen diferentes roles profesionales.

Estos se crean automáticamente cuando se instala cualquier aplicación. bin, sync, lp, mail, operator, squid son algunos ejemplos de usuarios especiales.

usuario general

Los usuarios regulares solo tienen permisos completos en su directorio de trabajo (generalmente su directorio de inicio). No tienen derechos para administrar el sistema o instalar software.No pueden realizar estas tareas sin privilegios especiales. sudo.

Agregar usuario

Debian/Ubuntu

En los sistemas basados ​​en Debian o Ubuntu, existen varias opciones para agregar usuarios desde la CLI.El primer comando es adduserque es un script de Perl y utiliza useradd comando en el backend, veremos su uso más adelante.

Dado que agregar un usuario es una tarea privilegiada, debe usar sudo como prefijo y username como argumento. Se pueden especificar otros detalles de acuerdo con el aviso. A excepción del nombre de usuario y la contraseña, el resto de los detalles son opcionales.Podemos verificar que el usuario ha sido creado usando id Pedido.

$ sudo adduser johndoe
Adding user `johndoe' ...
Adding new group `johndoe' (1003) ...
Adding new user `johndoe' (1003) with group `johndoe' ...
Creating home directory `/home/johndoe' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for johndoe
Enter the new value, or press ENTER for the default
        Full Name []: John Doe
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y
$
$ id johndoe
uid=1003(johndoe) gid=1003(johndoe) groups=1003(johndoe)
$

CentOS/RHEL/Fedora (incluido Debian/Ubuntu)

siguiente comando, useradd Funcionará en distribuciones de SO basadas en RHEL y también en hosts Ubuntu/Debian. La sintaxis más simple (sin opciones adicionales) para crear un nuevo usuario es:

$ sudo useradd 

ejemplo:

$ sudo useradd janedoe

Esta useradd El comando admite varias opciones que se pueden especificar al crear un usuario, siendo las más comunes la ID de usuario (UID), la ID de grupo (GID), el shell predeterminado y el directorio de inicio, etc. Un ejemplo de esto se da a continuación:

$ sudo useradd -s /bin/sh -d /data/newhome -c "Jane Doe" -u 1005 janedoe

Puede autenticar al usuario recién creado usando id Pedido:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$

modificar usuario

Las personas a menudo necesitan modificar ciertos atributos de los usuarios existentes en función de los requisitos de la organización, las solicitudes de los usuarios o las migraciones del sistema. La mayoría de estas propiedades son fáciles de modificar, aunque debemos asegurarnos de cómo afectará el entorno del usuario y el acceso a los archivos que posee o accede el usuario.

shell por defecto

El shell predeterminado es el shell CLI creado por el usuario cuando inicia una nueva sesión CLI localmente o a través de SSH.La mayoría de los sistemas modernos tienen un usuario predeterminado Bash Aunque puede variar según la distribución de Linux o el entorno del usuario. Para modificar el shell predeterminado de un usuario, use:

$ sudo usermod -s  

ejemplo:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/sh
$ sudo usermod -s /bin/bash janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$

Como puede ver en el resultado anterior, el shell ha cambiado de /bin/sh llegar /bin/bash para los usuarios janedoe.

directorio principal

Al igual que con el shell predeterminado, el directorio de inicio del usuario se puede modificar a una ubicación diferente con el siguiente comando:

$ sudo usermod -d  

En el siguiente ejemplo, el directorio de inicio del usuario del usuario janedoe cambiado a /data/janedoe:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$ sudo usermod -d /data/janedoe janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$

Antes de realizar el cambio, asegúrese de que el nuevo directorio tenga la propiedad y los permisos correctos. De lo contrario, los usuarios pueden tener problemas para iniciar sesión o trabajar en el nuevo directorio de inicio.

identificación de usuario

Puede cambiar la identificación de usuario de un usuario existente usando:

$ sudo usermod -u  

ejemplo:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -u 1010 janedoe
$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$

Del mismo modo, cambiar el UID cambia la forma en que el sistema de archivos de Linux asigna la propiedad y los permisos a los archivos o directorios. Asegúrese de que el directorio de inicio del usuario y su contenido y todos los demás archivos en cualquier parte del sistema, originalmente propiedad del usuario (con el UID anterior), se cambien a asignaciones de UID. De lo contrario, los usuarios pueden tener problemas con las sesiones de la CLI y el acceso a los archivos.

grupo predeterminado

El grupo predeterminado suele ser el ID de grupo predeterminado del usuario, que se crea durante la creación del usuario a menos que se especifique otro GID. Linux le permite modificar el grupo predeterminado de un usuario usando usermod Lo mismo ocurre con los comandos. Aquí está la sintaxis a usar:

$ sudo usermod -g  

Aquí hay un ejemplo:

$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$ sudo usermod -g 1001 janedoe
$ getent passwd janedoe
janedoe:x:1010:1001::/data/janedoe:/bin/bash
$

Además, asegúrese de que el nuevo ID de grupo esté configurado en el directorio de inicio, el contenido y todos los demás archivos o directorios del usuario que sean adecuados para migrar sus permisos de propiedad correctamente.

Agregar/quitar grupos

Además de los grupos predeterminados, los usuarios de Linux también pueden formar parte de grupos secundarios.Podemos añadir o eliminar otros grupos a los que pertenezca el usuario en cualquier momento usermod Pedido.

$ sudo usermod -a -G  

ejemplo:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -a -G docker janedoe
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$

Asimismo, para eliminar un usuario de uno de los grupos secundarios, utilice gpasswd El comando es el siguiente:

$ sudo gpasswd -d  

ejemplo:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$ sudo gpasswd -d janedoe docker
Removing user janedoe from group docker
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$

Opiniones de GECOS

campo GECOS /etc/passwd Contiene información del usuario o comentarios. Podemos modificar esta información para los usuarios existentes para:

$ sudo usermod -c  

ejemplo:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -c "Jane Doe - System Admin" janedoe
$ getent passwd janedoe
janedoe:x:1005:1005:Jane Doe - System Admin:/data/janedoe:/bin/bash
$

Tenga en cuenta que si sus comentarios o detalles de usuario contienen espacios, encierre el campo entre comillas, como en el ejemplo anterior.

nombre de inicio de sesión

También se puede utilizar el nombre de inicio de sesión del usuario. usermod usando el comando -l bandera:

$ sudo usermod -l  

ejemplo:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -l jane_doe janedoe
$ id jane_doe
uid=1005(jane_doe) gid=1005(janedoe) groups=1005(janedoe)
$

Recuerde actualizar la referencia del usuario con el nuevo nombre utilizado.incluso en un comando como este idse debe especificar un nuevo nombre de usuario.

eliminar usuarios

Un usuario puede ser eliminado de Linux usando el siguiente comando userdel Pedido.

$ sudo userdel 

ejemplo:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo userdel janedoe
$ id janedoe
id: ‘janedoe’: no such user
$

Para eliminar usuarios y sus directorios de inicio y colas de correo, agregue -r Lo mismo ocurre con el logotipo.

$ sudo userdel -r 

Específicamente para sistemas basados ​​en Ubuntu, también puede usar deluser Comando para eliminar usuario:

$ sudo deluser 

Del mismo modo, para eliminar el directorio de inicio y la cola de correo, utilice:

$ sudo deluser --remove-home 

Para obtener más información y otras opciones admitidas, use los siguientes comandos para visitar las páginas de inicio de los diversos comandos:

$ man adduser
$ man useradd
$ man usermod
$ man deluser
$ man userdel

en conclusión

Este artículo presenta varios aspectos de la gestión de usuarios en sistemas Linux. Esto incluye instrucciones para las diversas categorías de usuarios y cómo agregarlos y eliminarlos. También cubre varias opciones que ayudan a modificar los parámetros de usuario existentes. Si bien no cubre todas las posibilidades admitidas por varios comandos, cubre muchas tareas administrativas comunes que los administradores de sistemas encontrarán en su trabajo diario.

También te puede interesar leer: ¿Cómo Eliminar Archivos y Directorios en Linux?

LEER  Lanzamiento del kernel de Linux 6.10-rc2, que incluye una gran cantidad de parches de Bcachefs

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba