Búsqueda de sitios web

Serie RHCSA: Cómo gestionar usuarios y grupos en RHEL 7 - Parte 3


Administrar un servidor RHEL 7, como es el caso de cualquier otro servidor Linux, requerirá que sepa cómo agregar, editar, suspender o eliminar cuentas de usuario y otorgar a los usuarios los permisos necesarios para los archivos. , directorios y otros recursos del sistema para realizar las tareas asignadas.

Administrar cuentas de usuario

Para agregar una nueva cuenta de usuario a un servidor RHEL 7, puede ejecutar cualquiera de los dos comandos siguientes como root:

adduser [new_account]
useradd [new_account]

Cuando se agrega una nueva cuenta de usuario, de forma predeterminada se realizan las siguientes operaciones.

  1. Se crea su directorio de inicio (/home/username a menos que se especifique lo contrario).
  2. Estos archivos ocultos .bash_logout, .bash_profile y .bashrc se copian dentro del directorio de inicio del usuario y se utilizarán para proporcionar variables de entorno para su /su sesión de usuario. Puede explorar cada uno de ellos para obtener más detalles.
  3. Se crea un directorio de cola de correo para la cuenta de usuario agregada.
  4. Se crea un grupo con el mismo nombre que la nueva cuenta de usuario.

El resumen completo de la cuenta se almacena en el archivo /etc/passwd. Este archivo contiene un registro por cuenta de usuario del sistema y tiene el siguiente formato (los campos están separados por dos puntos):

[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
  1. Estos dos campos [nombre de usuario] y [Comentario] se explican por sí solos.
  2. La segunda 'x' indica que la cuenta está protegida por una contraseña oculta (en /etc/shadow), que se utiliza para iniciar sesión como [nombre de usuario].
  3. Los campos [UID] y [GID] son números enteros que muestran la ID de usuario y la ID de grupo principal al que pertenece [username], igualmente .

Finalmente,

  1. El [directorio de inicio] muestra la ubicación absoluta del directorio de inicio de [nombre de usuario], y
  2. [Shell predeterminado] es el shell que se confirma con este usuario cuando inicia sesión en el sistema.

Otro archivo importante con el que debes familiarizarte es /etc/group, donde se almacena la información del grupo. Como es el caso de /etc/passwd, hay un registro por línea y sus campos también están delimitados por dos puntos:

[Group name]:[Group password]:[GID]:[Group members]

dónde,

  1. [Nombre del grupo] es el nombre del grupo.
  2. ¿Este grupo utiliza una contraseña de grupo? (Una “x” significa no).
  3. [GID]: igual que en /etc/passwd.
  4. [Miembros del grupo]: una lista de usuarios, separados por comas, que son miembros de cada grupo.

Después de agregar una cuenta, en cualquier momento, puede editar la información de la cuenta del usuario usando usermod, cuya sintaxis básica es:

usermod [options] [username]

Lea también:
15 ejemplos de comandos 'useradd'
15 ejemplos de comandos 'usermod'

EJEMPLO 1: Establecer la fecha de vencimiento de una cuenta

Si trabaja para una empresa que tiene algún tipo de política para habilitar la cuenta por un cierto intervalo de tiempo, o si desea otorgar acceso por un período de tiempo limitado, puede usar el --expiredate bandera seguida de una fecha en formato AAAA-MM-DD. Para verificar que el cambio se haya aplicado, puede comparar el resultado de

chage -l [username]

antes y después de actualizar la fecha de vencimiento de la cuenta, como se muestra en la siguiente imagen.

EJEMPLO 2: Agregar el usuario a grupos suplementarios

Además del grupo principal que se crea cuando se agrega una nueva cuenta de usuario al sistema, se puede agregar un usuario a grupos suplementarios usando la combinación -aG, o –append < opciones–groups, seguidas de una lista de grupos separados por comas.

EJEMPLO 3: Cambiar la ubicación predeterminada del directorio de inicio del usuario y/o cambiar su shell

Si por alguna razón necesita cambiar la ubicación predeterminada del directorio de inicio del usuario (que no sea /home/nombre de usuario), deberá utilizar -d o –home opciones, seguidas de la ruta absoluta al nuevo directorio de inicio.

Si un usuario quiere usar otro shell que no sea bash (por ejemplo, sh), que se asigna de forma predeterminada, use usermod con el –shell bandera, seguida de la ruta al nuevo shell.

EJEMPLO 4: Mostrar los grupos de los que es miembro un usuario

Después de agregar el usuario a un grupo complementario, puede verificar que ahora realmente pertenece a dicho grupo(s):

groups [username]
id [username]

La siguiente imagen muestra los Ejemplos 2 al 4:

En el ejemplo anterior:

usermod --append --groups gacanepa,users --home /tmp --shell /bin/sh tecmint

Para eliminar a un usuario de un grupo, omita el modificador --append en el comando anterior y enumere los grupos a los que desea que pertenezca el usuario siguiendo la marca --groups.

EJEMPLO 5: Deshabilitar la cuenta bloqueando la contraseña

Para deshabilitar una cuenta, deberá usar la opción -L (L minúscula) o –lock para bloquear la contraseña de un usuario. Esto impedirá que el usuario pueda iniciar sesión.

EJEMPLO 6: Contraseña de desbloqueo

Cuando necesite volver a habilitar al usuario para que pueda iniciar sesión en el servidor nuevamente, use la opción -U o –unlock para desbloquear la contraseña de un usuario que fue previamente bloqueado, como se explica en el Ejemplo 5 anterior.

usermod --unlock tecmint

La siguiente imagen ilustra los Ejemplos 5 y 6:

EJEMPLO 7: Eliminar un grupo o una cuenta de usuario

Para eliminar un grupo, querrás usar groupdel, mientras que para eliminar una cuenta de usuario usarás userdel (agrega el modificador –r si también desea eliminar el contenido de su directorio de inicio y cola de correo):

groupdel [group_name]        # Delete a group
userdel -r [user_name]       # Remove user_name from the system, along with his/her home directory and mail spool

Si hay archivos propiedad de nombre_grupo, no se eliminarán, pero el propietario del grupo se establecerá en el GID del grupo que se eliminó.