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. His/her home directory is created (/home/username unless specified otherwise).
  2. These .bash_logout, .bash_profile and .bashrc hidden files are copied inside the user’s home directory, and will be used to provide environment variables for his/her user session. You can explore each of them for further details.
  3. A mail spool directory is created for the added user account.
  4. A group is created with the same name as the new user account.

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. These two fields [username] and [Comment] are self explanatory.
  2. The second filed ‘x’ indicates that the account is secured by a shadowed password (in /etc/shadow), which is used to logon as [username].
  3. The fields [UID] and [GID] are integers that shows the User IDentification and the primary Group IDentification to which [username] belongs, equally.

Finalmente,

  1. The [Home directory] shows the absolute location of [username]’s home directory, and
  2. [Default shell] is the shell that is commit to this user when he/she logins into the system.

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. [Group name] is the name of group.
  2. Does this group use a group password? (An “x” means no).
  3. [GID]: same as in /etc/passwd.
  4. [Group members]: a list of users, separated by commas, that are members of each group.

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 haya 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 el indicador –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 estaba previamente bloqueada, como se explicó 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 la opción –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ó.