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


La administración de 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 archivos, directorios y otros recursos del sistema. para realizar sus tareas asignadas.

Gestión de 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, se realizan las siguientes operaciones de forma predeterminada.

  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 el entorno variables para 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 [username] y [Comment] se explican por sí mismos.
  2. El segundo campo '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 identificación de usuario y la identificación de grupo principal a la que [nombre de usuario] pertenece, igualmente.

Finalmente,

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

Otro archivo importante con el que debe familiarizarse 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 usa 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]

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

# chage -l [username]

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

Además del grupo primario que se crea cuando se agrega una nueva cuenta de usuario al sistema, se puede agregar un usuario a grupos suplementarios usando las opciones combinadas -aG o -append -groups, seguidas de una lista de grupos separados por comas.

Si por alguna razón necesita cambiar la ubicación predeterminada del directorio de inicio del usuario (que no sea/home/username), deberá usar las opciones -d o –home, 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 por defecto, use usermod con la bandera –shell, seguido de la ruta al nuevo shell.

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 a 4:

En el ejemplo anterior:

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

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

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

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

# usermod --unlock tecmint

La siguiente imagen ilustra los ejemplos 5 y 6:

Para eliminar un grupo, querrá usar groupdel, mientras que para eliminar una cuenta de usuario usará userdel (agregue el modificador –r si también desea eliminar el contenido de su directorio de inicio y la 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 group_name, no se eliminarán, pero el propietario del grupo se configurará con el GID del grupo que se eliminó.