
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 janedoeEsta 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 janedoePuede 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 userdelen 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?









