LFCA: Aprenda la gestión de cuentas de usuario - Parte 5


Como administrador del sistema Linux, se le asignará la tarea de garantizar el flujo fluido de todas las operaciones de TI en su organización. Dado que algunas operaciones de TI están entrelazadas, un administrador de sistemas generalmente tiene muchas funciones, incluido el de administrador de una base de datos o de una red.

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

Gestión de cuentas de usuario en Linux

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

Básicamente, hay 3 categorías principales de usuarios en Linux:

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 en cualquier otro sistema operativo similar a UNIX. El usuario puede acceder a todos los comandos, archivos y directorios y modificar el sistema según sus preferencias.

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

El usuario root puede hacer cualquier cosa en el sistema. La suposición de los sistemas Linux y tipo UNIX es que usted sabe muy bien lo que está haciendo con el sistema. Dicho esto, el usuario root puede romper fácilmente el sistema. Todo lo que necesita es que ejecute un comando fatal, y el sistema se convertirá en humo.

Por esta razón, se desaconseja ejecutar comandos como usuario root. En cambio, las buenas prácticas exigen que configure un usuario sudo. Eso es otorgar privilegios de sudo a un usuario regular para realizar ciertas tareas administrativas y restringir algunas tareas solo al usuario root.

Un usuario normal es un usuario de inicio de sesión normal que puede crear un administrador de sistemas. Por lo general, existe la posibilidad de crear uno durante el proceso de instalación. Sin embargo, aún puede crear tantos usuarios regulares como necesite después de la instalación.

Un usuario normal solo puede realizar tareas y acceder a archivos y directorios para los que está autorizado. Si es necesario, a un usuario normal se le pueden otorgar privilegios elevados para realizar tareas de nivel administrativo. Los usuarios habituales también pueden eliminarse o desactivarse cuando surja la necesidad.

Ésta es una cuenta sin inicio de sesión que se crea cuando se instala un paquete de software. Los servicios utilizan estas cuentas para ejecutar procesos en el sistema. No están diseñados ni destinados a realizar tareas de rutina o administrativas 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

Entendamos cada archivo y lo que hace:

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

$ cat /etc/passwd

Aquí hay un fragmento del resultado.

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

Centrémonos en la primera línea y desarrollemos los distintos campos. Comenzando desde el extremo izquierdo, 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 cifrada del usuario. La contraseña no está impresa en texto sin formato, sino que se utiliza un marcador de posición con un signo x.
  • El UID: este es el ID de usuario. Es un identificador único para cada usuario.
  • El GID: este es el ID del grupo.
  • Una breve descripción o un resumen del usuario.
  • Esta es la ruta al directorio de inicio del usuario. Para el usuario de tecmint, tenemos/home/tecmint.
  • Este es el shell de inicio de sesión. Para los usuarios de inicio de sesión habituales, esto generalmente se representa como/bin/bash. Para cuentas de servicio como SSH o MySQL, esto generalmente se representa como/bin/false.

Este archivo contiene información sobre los grupos de usuarios. Cuando se crea un usuario, el shell 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 principal en el momento de la creación.

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

$ cat /etc/group

tecmint:x:1002:

El archivo/etc/group tiene 3 columnas. Desde el extremo izquierdo, tenemos:

  • Nombre del grupo. Cada nombre de grupo debe ser único.
  • Contraseña de grupo. Generalmente representado por un marcador de posición x.
  • ID de grupo (GID)
  • Miembros del grupo. Estos son 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 varios grupos. Asimismo, 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

Este archivo contiene contraseñas encriptadas o "ocultas" para cuentas de grupo y, por razones de seguridad, los usuarios habituales no pueden acceder a él. Solo lo pueden leer el usuario root y los usuarios con privilegios de sudo.

$ sudo cat /etc/gshadow

tecmint:!::

Desde el extremo izquierdo, el archivo contiene los siguientes campos:

  • Nombre del grupo
  • Contraseña de grupo cifrada
  • Administrador de grupo
  • Miembros del grupo

El archivo/etc/shadow almacena las contraseñas reales de los usuarios en formato hash o cifrado. Nuevamente, los campos están separados por dos puntos y adoptan el formato que se muestra.

$ sudo cat /etc/shadow

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

El archivo tiene 9 campos. Comenzando desde el extremo izquierdo tenemos:

  • El nombre de usuario: este es su nombre de inicio de sesión.
  • La contraseña del usuario. Esto se presenta en formato hash o cifrado.
  • El último cambio de contraseña. Esta es la fecha desde que se cambió la contraseña y se calcula desde la fecha de época. Epoch es el 1 de enero de 1970.
  • La antigü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 antigü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 período de advertencia. Como sugiere el nombre, esta es la cantidad de días que transcurren poco antes de que caduque una contraseña que se notifica al usuario de la caducidad inminente de la contraseña.
  • El período de inactividad. La cantidad de días después de que caduca una contraseña que una cuenta de usuario está deshabilitada sin que el usuario cambie la contraseña.
  • La fecha de vencimiento. La fecha en la que expiró la cuenta de usuario.
  • Campo reservado. - Esto se deja en blanco.

Cómo agregar usuarios en un sistema Linux

Para las distribuciones de Debian y Ubuntu, la utilidad adduser se usa para agregar usuarios.

La sintaxis es bastante simple y directa.

# adduser username

Por ejemplo, para agregar un usuario llamado bob, ejecute el comando

# adduser bob

A partir de la salida, se crea un usuario llamado "bob" y se agrega a un grupo recién creado llamado "bob". Además, el sistema también crea un directorio de inicio y copia los archivos de configuración en él.

A partir de entonces, se le pedirá la contraseña del nuevo usuario y luego la confirmará. El shell también le pedirá el nombre completo del usuario y otra información opcional como número de habitación y teléfono del trabajo. Esta información no es realmente necesaria, por lo que es seguro omitirla. Finalmente, presione 'Y' para confirmar que la información proporcionada es correcta.

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

# useradd bob

A continuación, configure la contraseña para el usuario mediante el comando passwd de la siguiente manera.

# passwd bob

Cómo eliminar usuarios en un sistema Linux

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

# passwd -l bob

Si lo desea, puede hacer una copia de seguridad de los archivos del usuario usando el comando tar.

# tar -cvf /backups/bob-home-directory.tar.bz2  /home/bob

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

# deluser --remove-home bob

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

# userdel -r bob

Los dos comandos eliminan por completo al usuario junto con sus directorios de inicio.

Esa fue una descripción general de los comandos de administración de usuarios que resultará útil, especialmente al administrar cuentas de usuario en su entorno de oficina. Pruébelos de vez en cuando para mejorar sus habilidades de administración de sistemas.