Búsqueda de sitios web

LFCA: Aprenda a administrar cuentas de usuario - Parte 5


Como administrador del sistema Linux, tendrá 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 desempeña muchas funciones, incluido el de administrador de bases de datos o de redes.

Este artículo es la Parte 5 de la serie LFCA. 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).

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

Usuario raíz

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 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 prácticamente cualquier cosa en el sistema. La suposición de los sistemas Linux y UNIX es que usted sabe muy bien lo que está haciendo con el sistema. Dicho esto, el usuario root puede dañar fácilmente el sistema. Todo lo que necesitas es ejecutar un comando fatal y el sistema se esfumará.

Por este motivo, se desaconseja ejecutar comandos como usuario root. En cambio, las buenas prácticas exigen que se configure un usuario sudo. Es decir, otorgar privilegios sudo a un usuario normal para realizar ciertas tareas administrativas y restringir algunas tareas solo al usuario root.

Usuario regular

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 habituales como necesite después de la instalación.

Un usuario normal sólo 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 se pueden eliminar o desactivar cuando sea necesario.

Cuenta de servicio

Esta 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 ninguna tarea rutinaria 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

Entendamos cada archivo y lo que hace:

El archivo /etc/passwd

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 se imprime en texto plano, 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 resumen del usuario.
  • Esta es la ruta al directorio de inicio del usuario. Para usuarios de tecmint, tenemos /home/tecmint.
  • Este es el shell de inicio de sesión. Para los usuarios habituales que inician sesión, esto suele representarse 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 shell crea automáticamente un grupo que corresponde al nombre de usuario del usuario. Esto se conoce como el grupo primario. El usuario se agrega al grupo principal tras su 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 comprobar los grupos a los que pertenece el usuario tecmint, ejecute el comando:

groups tecmint

El resultado confirma que el usuario pertenece a dos grupos: tecmint y sudo.

tecmint : tecmint sudo

El archivo /etc/gshadow

Este archivo contiene contraseñas cifradas 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 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 del grupo
  • Miembros del grupo

El archivo /etc/shadow

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

sudo cat /etc/shadow

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

El archivo tiene 9 campos. Empezando por 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. La época 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 del cual se debe cambiar una contraseña.
  • El período de advertencia. Como sugiere el nombre, esta es la cantidad de días, poco antes de que caduque una contraseña, en los que se notifica al usuario sobre la inminente caducidad de la contraseña.
  • El período de inactividad. La cantidad de días después de que caduque 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 que expiró 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, la utilidad adduser se utiliza 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 del resultado, 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 archivos de configuración en él.

A continuación, se le solicitará la contraseña del nuevo usuario y luego la confirmará. El shell también le solicitará 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, por lo que es seguro omitirla. Finalmente, presione ‘Y’ para confirmar que la información proporcionada es correcta.

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

useradd bob

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

passwd bob

Cómo eliminar usuarios en un sistema Linux

Para eliminar un usuario del sistema, es recomendable primero bloquear el acceso del usuario al 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 utilice el comando deluser de la siguiente manera:

deluser --remove-home bob

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

userdel -r bob

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

Conclusión

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