Usuarios y Grupos

Conceptos Claves

  • Agregar, modificar y remover usuarios y grupos
  • Crear y gestionar cuentas con propósitos especiales.

Términos y Utilidades

  • /etc/passwd
  • /etc/shadow
  • /etc/group
  • /etc/skel
  • chage
  • groupadd
  • groupdel
  • groupmod
  • passwd
  • useradd
  • userdel
  • usermod

Introducción

Linux es un sistema multiusuario, permite que estos usuarios interactúen entre ellos, el sistema, los archivos y los programas que componen el sistema. Para ellos debemos establecer que pueden y que no pueden hacer estos usuatios; además de indicar de que manera deben hacerlo. Para facilitar la gestión de los usuarios, Linux ofrece grupos lógicos en los cuales podemos agrupar usuarios cuyas características sean similares.

Cuentas de usuario y el archivo /etc/passwd

Cuando se agrega una nueva cuenta de usuario a un sistema Linux, se añade una entrada a una lista de usuarios en el archivo que se almacena en el archivo /etc/passwd.

Cada línea del archivo contiene información para una sola cuenta del sistema y contiene los siguientes elementos de información en campos separados por dos puntos:

Nombre de usuario

El primer campo de una línea es un nombre de usuario único para la persona o servicio que utilicen la cuenta.

Contraseña

Cada usuario tiene una contraseña asociada. La contraseña almacenada en este campo que se encuentra cifrada. Además del cifrado, por razones de seguridad, la mayoría de los sistemas almacena contraseñas en un archivo separado, el archivo/etc/shadow. Si no se incluye la contraseña, su campo se rellena por la letra x, que indica que el sistema de contraseñas shadow está en uso.

ID de usuario

Cada nombre de usuario requiere un identificador de usuario único o UID. El UID es simplemente un entero no negativo. La cuenta root se le asigna el UID de 0. Por convención, los valores de UID de 0 a 99 están reservados para uso administrativo, los mayores de 99 son para los usuarios regulares del sistema. En algunos sistemas, se empiezan a asignar UID para usuarios regulares a partir del numero 500.

ID de grupo

Cada usuario tiene un identificador de grupo primario o GID. El GID es también un entero no negativo. Los números de grupo y sus nombres asociados se especifican en el archivo /etc/group. El GID almacenado para cada usuario en /etc/passwd es su ID de grupo por defecto, aunque el usuario puede pertenecer a varios grupos.

El nombre completo del usuario o miscelánea

El nombre del usuario u otra información se almacena como texto sin formato y por lo general contiene el nombre completo del usuario. Este campo puede contener espacios.

Directorio de inicio

El directorio de inicio el directorio por defecto en el sistema de archivos para la cuenta. Si una cuenta es para una persona, probablemente se creará un directorio en el sistema de archivos con archivos de configuración estándar que el usuario puede personalizar. La ruta completa al directorio de inicio está aquí.

Shell por defecto

Este campo especifica el shell por defecto para el usuario o el servicio, que es el shell que se ejecuta cuando el usuario inicia sesión o abre una ventana de shell. En la mayoría de los casos, el shell será /bin/bash o /bin/tcsh, pero puede ser cualquier shell, o incluso otro programa ejecutable.

Grupos y el archivo /etc/group

Los grupos son similares a los usuarios en su administración y se definen en el archivo /etc/group. Al igual que el archivo passwd, el archivo de grupo contiene campos separados por dos puntos:

Nombre del grupo

Este campo indica el nombre del grupo. Cada grupo debe tener un nombre único.

Contraseña

Al igual que las cuentas de usuario tienen contraseñas, los grupos pueden tener contraseñas para sus miembros. Si el campo de la contraseña está vacío, el grupo no requiere una contraseña. La contraseña en un grupo puede usarse para acceder temporariamente al grupo por medio el comando newgrp.

ID de grupo

Cada grupo requiere un GID único. Como los UID, los GID son números enteros no negativos.

Miembros del Grupo

El último campo es una lista de los miembros del grupo por nombre de usuario, separados por comas.

El sistema shadow de contraseñas

En los comienzos de Linux, las contraseñas se podían leer, de manera encriptado, desde el archivo /etc/passwd. Eso los hacia susceptibles a ataques de fuerza bruta. Para corregir esa vulnerabilidad, se trasladaron las contraseñas a los archivos /etc/shadow para los usuarios y /etc/gshadow para los grupos. El único con permisos para leer estos archivos debería ser root.

Comandos de gestión de usuarios y grupos

Aunque es posible, rara vez es necesario (ni aconsejable) manipular la cuenta y los archivos de definición de grupo manualmente con un editor de texto. En cambio, una familia de comandos está disponible para la gestión de cuentas, grupos y contraseñas.

Comando useradd

Descripción

Crea cuentas de usuarios en el sistema. Tanto los valores por defecto del sistema y las opciones especificadas definen cómo se configurara la cuenta. Una contraseña inicial debe ser establecida posteriormente.

Una alternativa a useradd es el comando adduser, el cual nos permite ingresar los parámetros de manera interactiva.

Sintaxis

useradd [opciones] usuario

Opciones de uso más frecuente

Opción Descripción
-c "comentario" Define el campo de comentario, probablemente el nombre del usuario.
-d directorio_inicio Define el directorio de inicio (Home) del usuario.
-m Crea el directorio de inicio y los archivos de esqueleto.
-s shell Especifica el shell por defecto para la cuenta.

Comando usermod

Descripción

Modifica una cuenta de usuario existente. El comando usermod acepta muchas de las mismas opciones que useradd..

Sintaxis

usermod [opciones] usuario

Opciones de uso más frecuente

-L: Bloquea la contraseña, deshabilitando la cuenta.

-U: Libera la contraseña, habilitando la cuenta.

Comando userdel

Descripción

Este comando sirve para eliminar una cuenta de usuario existente. Cuando se combina con la opción -r, se elimina el directorio home del usuario. Hay que tener en cuenta que eliminar por completo las cuentas puede llevar a la confusión cuando los archivos pertenecientes al usuario eliminado permanecen en otros directorios del sistema. Por esta razón, es común para desactivar una cuenta en lugar de eliminarla. Las cuentas pueden ser desactivadas mediante los comandos chage, usermod y passwd.

Sintaxis

userdel [-r] usuario

Comando groupadd

Descripción

Añade grupo al sistema. En el caso excepcional de que una contraseña de grupo sea necesaria para el grupo, hay que añadir el uso del comando gpasswd después de crear el grupo.

Sintaxis

groupadd [opciones] grupo

Comando groupmod

Descripción

Modifica los parámetros de un grupo existente.

Sintaxis

groupmod [opciones] grupo

Opción

-n nombre: Modifica el nombre del grupo

Comando groupdel

Descripción

Elimina un grupo del sistema.

Sintaxis

groupdel nombre_grupo

Comando passwd

Descripción

El comando passwd cambia las contraseñas de cuentas de usuario. Un usuario normal sólo puede cambiar la contraseña de su propia cuenta, mientras que root puede cambiar la contraseña de cualquier cuenta. También se puede usar para cambiar el período de validez de la contraseña asociada.

Sintaxis

passwd [opciones] usuario

Opción

-l: Bloquea la contraseña, deshabilitando así la cuenta.

Comando chage

Descripción

Modifica la expiración de las contraseñas .

Sintaxis

chage [opciones] usuario

Opciones

Opción Descripción
-E fecha_expiración Establece la fecha de expiración de la contraseña.
-d ultimo_día Establece la fecha en el que la contraseña se cambio por ultima vez.
-I días_inactivo Luego de cuantos días de expirada la contraseña se deshabilita la cuenta.
-m días Establece mínimo de días que tienen que pasar desde el ultimo cambio de contraseña para poder volver a cambiar.
-M días Estable máximo de días que un usuario puede mantener una mismo contraseña antes de cambiarla.
-l Lista las opciones de contraseña de un usuario.

Ejemplo

El siguiente comando establece la fecha de expiración de la cuenta un usuario.

chage -E "2009-05-31" adolfo

results matching ""

    No results matching ""