LFCA: Aprende a gestionar cuentas de usuario – Parte 5

Como administrador de sistemas Linux, se te asignará la tarea de garantizar el flujo fluido de todas las operaciones de TI en tu organización. Dado que algunas operaciones de TI están entrelazadas, un administrador de sistemas suele tener múltiples funciones, incluyendo ser administrador de bases de datos o de red.

Este artículo es Parte 5 de la serie LFCA, aquí en esta parte, te familiarizarás con los comandos generales de administración del sistema para crear y gestionar usuarios en un sistema Linux.

Gestión de cuentas de usuario en Linux

Una de las responsabilidades principales de un administrador de sistemas Linux es crear y gestionar usuarios en un sistema Linux. Cada cuenta de usuario tiene 2 identificadores únicos: el nombre de usuario y el ID de usuario (UID).

Esencialmente, hay 3 categorías principales de usuarios en Linux:

Usuario Root

El usuario root es el usuario más poderoso en un sistema Linux y generalmente se crea durante el proceso de instalación. El usuario root tiene poder absoluto en el sistema Linux o cualquier otro sistema operativo similar a UNIX. El usuario puede acceder a todos los comandos, archivos y directorios y modificar el sistema según su preferencia.

El usuario root puede actualizar el sistema, instalar o desinstalar paquetes, agregar o quitar otros usuarios, conceder o revocar permisos, y realizar cualquier otra tarea de administración del sistema sin restricciones.

El usuario root casi puede hacer cualquier cosa en el sistema. La suposición de los sistemas Linux y UNIX-like es que sabes perfectamente lo que estás haciendo con el sistema. Dicho esto, el usuario root puede fácilmente romper el sistema. Solo es necesario que ejecutes un comando fatal, y el sistema se incendiará.

Por esta razón, ejecutar comandos como el usuario root está altamente desaconsejado. En su lugar, la buena práctica exige que deberías configurar un usuario sudo. Es decir, conceder privilegios de sudo a un usuario regular para realizar ciertas tareas administrativas y restringir algunas tareas solo para el usuario root.

Usuario Regular

A regular user is a normal login user that can be created by a systems administrator. Usually, there is a provision to create one during the installation process. However, you can still create as many regular users as needed post-installation.

A regular user can only perform tasks and access files and directories for which they are authorized. If need be, a regular user can be granted elevated privileges to perform administrative-level tasks. Regular users can also be deleted or disabled when the need arises.

Cuenta de Servicio

Esta es una cuenta de inicio no válida que se crea al instalar un paquete de software. tales cuentas son usadas por servicios para ejecutar procesos en el sistema. No están diseñadas o destinadas a realizar ninguna tarea de rutina o administrativa en el sistema.

Archivos de Gestión de Usuarios

La información sobre los usuarios en un sistema Linux se almacena en los siguientes archivos:

  • El archivo /etc/passwd
  • El archivo /etc/group
  • El archivo /etc/gshadow
  • El archivo /etc/shadow

Vamos a entender cada archivo y qué hace:

El archivo /etc/passwd

El archivo /etc/passwd contiene bastante información sobre los usuarios que está contenida en varios campos. Para ver el contenido del archivo, simplemente use el comando cat como se muestra.

$ cat /etc/passwd

Aquí hay un fragmento de la salida.

tecmint:x:1002:1002:tecmint,,,:/home/tecmint:/bin/bash

Concentrémonos en la primera línea y desarrollemos los diversos campos. Comenzando por la extrema izquierda, tenemos lo siguiente:

  • El nombre de usuario: Este es el nombre del usuario, en este caso, tecmint.
  • La contraseña: La segunda columna representa la contraseña encriptada del usuario. La contraseña no se imprime en texto plano, en su lugar, se usa un marcador con una señal de x.
  • El UID: Este es el ID de Usuario. Es un identificador único para cada usuario.
  • El GID: Este es el ID de Grupo.
  • A brief description or summary of the user.
  • Este es el camino al directorio principal del usuario. Para el usuario tecmint, tenemos /home/tecmint.
  • Este es el shell de inicio de sesión. Para los usuarios de inicio de sesión regular, esto generalmente se representa como /bin/bash. Para cuentas de servicio como SSH o MySQL, esto generalmente se representa como /bin/false.

El archivo /etc/group

Este archivo contiene información sobre los grupos de usuarios. Cuando se crea un usuario, el sistema crea automáticamente un grupo que corresponde al nombre de usuario del usuario. Esto se conoce como grupo primario. El usuario se agrega al grupo primario al momento de la creación.

Por ejemplo, si crea un usuario llamado bob, el sistema crea automáticamente un grupo llamado bob y agrega al usuario bob al grupo.

$ cat /etc/group

tecmint:x:1002:

El archivo /etc/group tiene 3 columnas. Desde la extrema izquierda, tenemos:

  • Nombre del grupo. Cada nombre de grupo debe ser único.
  • Contraseña del grupo. Por lo general, representada por un marcador x.
  • ID del grupo (GID)
  • Miembros del grupo. Estos son los miembros que pertenecen al grupo. Este campo se deja en blanco si el usuario es el único miembro del grupo.

NOTA: Un usuario puede ser miembro de múltiples grupos. De la misma manera, un grupo puede tener varios miembros.

Para confirmar los grupos a los que pertenece un usuario, ejecute el comando:

$ groups username

Por ejemplo, para verificar los grupos a los que pertenece el usuario tecmint, ejecute el comando:

$ groups tecmint

La salida confirma que el usuario pertenece a dos grupos: tecmint y sudo.

tecmint : tecmint sudo

El archivo /etc/gshadow

Este archivo contiene contraseñas encriptadas o ‘sombreadas’ para cuentas de grupo y, por razones de seguridad, no puede ser accedido por usuarios regulares. Solo puede ser leído por el usuario root y usuarios con privilegios sudo.

$ sudo cat /etc/gshadow

tecmint:!::

Desde la extrema izquierda, el archivo contiene los siguientes campos:

  • Nombre del grupo
  • Contraseña del grupo encriptada
  • Administrador del grupo
  • Miembros del grupo

El archivo /etc/shadow

El archivo /etc/shadow almacena las contraseñas reales de los usuarios en un formato hash o encriptado. Nuevamente, los campos están separados por dos puntos y tienen el formato mostrado.

$ sudo cat /etc/shadow

tecmint:$6$iavr8PAxxnWmfh6J$iJeiuHeo5drKWcXQ.BFGUrukn4JWW7j4cwjX7uhH1:18557:0:99999:7:::

El archivo tiene 9 campos. Comenzando desde la izquierda, tenemos:

  • El nombre de usuario: Este es tu nombre de inicio de sesión.
  • La contraseña del usuario. Se presenta en formato hash o encriptado.
  • El último cambio de contraseña. Esta es la fecha desde el cambio de contraseña y se calcula desde la fecha del epoch. Epoch es el 1 de enero de 1970.
  • La edad mínima de la contraseña. Este es el número mínimo de días que deben transcurrir antes de que se pueda establecer una contraseña.
  • La edad máxima de la contraseña. Este es el número máximo de días después de los cuales se debe cambiar una contraseña.
  • El periodo de advertencia. Como sugiere el nombre, este es el número de días antes de que expire una contraseña que un usuario es notificado del próximo vencimiento de la contraseña.
  • El periodo de inactividad. El número de días después de que una contraseña expire que una cuenta de usuario se deshabilita sin que el usuario cambie la contraseña.
  • La fecha de vencimiento. La fecha en que venció la cuenta de usuario.
  • Campo reservado. – Esto se deja en blanco.

Cómo agregar usuarios en un sistema Linux

Para las distribuciones Debian y Ubuntu, se utiliza la herramienta adduser para agregar usuarios.

La sintaxis es bastante simple y directa.

# adduser username

Por ejemplo, para agregar un usuario llamado bob, se ejecuta el comando

# adduser bob

Del resultado, se crea un usuario llamado ‘bob‘ y se agrega a un grupo nuevo llamado ‘bob‘. Además, el sistema también crea un directorio personal y copia los archivos de configuración en él.

A continuación, se le pedirá la contraseña del nuevo usuario y luego confirmarla. La shell también le pedirá el nombre completo del usuario y otra información opcional como el número de habitación y el teléfono del trabajo. Esta información no es realmente necesaria, así que es seguro omitirla. Finalmente, presione ‘Y’ para confirmar que la información proporcionada es correcta.

Add User in Ubuntu

Para los sistemas basados en RHEL y CentOS, use el comando useradd.

# useradd bob

Después, establezca la contraseña para el usuario usando el comando passwd de la siguiente manera.

# passwd bob
Add User in CentOS

Cómo eliminar usuarios en un sistema Linux

Para eliminar un usuario del sistema, es recomendable primero bloquear al usuario para que no pueda iniciar sesión en el sistema, como se muestra.

# passwd -l bob

Si desea, puede respaldar los archivos del usuario usando el comando tar.

# tar -cvf /backups/bob-home-directory.tar.bz2  /home/bob
Lock User Account in Linux

Finalmente, para eliminar al usuario junto con el directorio personal, use el comando deluser de la siguiente manera:

# deluser --remove-home bob
Delete User in Linux

Además, puede usar el comando userdel como se muestra.

# userdel -r bob

Los dos comandos eliminan completamente al usuario junto con sus directorios personales.

Conclusión

Esa fue una visión general de los comandos de gestión de usuarios que resultarán útiles, especialmente al administrar cuentas de usuario en su entorno de oficina. Pruébelos de vez en cuando para afilar sus habilidades de administración del sistema.

Source:
https://www.tecmint.com/linux-user-account-management/