GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo agregar un usuario a un grupo en RHEL 8 / CentOS 8

En el contexto de un mecanismo de control de acceso discrecional (DAC), el acceso a los recursos, archivos y directorios del sistema se basa en la identidad de los usuarios y en los grupos a los que pertenecen. Este tipo de control de acceso se denomina "discrecional" porque un usuario puede tomar sus propias decisiones de política (limitado por sus propios permisos, por supuesto). En este tutorial veremos cómo agregar un usuario a un grupo y cuál es la diferencia entre un grupo primario y uno secundario en un sistema RHEL 8/CentOS 8 Linux.

En este tutorial aprenderás:

  • ¿Cuál es la diferencia entre un grupo primario y uno secundario?
  • Cómo agregar un usuario a un grupo usando el comando usermod
  • Cómo agregar un usuario a un grupo directamente con vigr


Cómo agregar un usuario a un grupo en Rhel8

Requisitos de software y convenciones utilizadas

¿Qué es un grupo?

Linux, al estar basado en Unix, es un sistema operativo multiusuario:existen múltiples usuarios y comparten recursos en el sistema al mismo tiempo. En el nivel más simple, el acceso a estos recursos se gestiona mediante el uso de un DAC (control de acceso discrecional) modelo. El acceso a archivos y directorios, por ejemplo, se basa en la identidad de un usuario y en los groups él es miembro de. En este tutorial, veremos cómo agregar un usuario a un grupo existente en una máquina Red Hat Enterprise Linux 8.

Grupos primarios y secundarios

Hoy en día, Red Hat, como casi todas las demás distribuciones principales de Linux, utiliza un esquema que se llama UPG , o Grupo privado de usuarios:cada vez que se crea un nuevo usuario, automáticamente se crea también un nuevo grupo con el mismo nombre del usuario, y el usuario se convierte en su único miembro. Esto es lo que se llama un primary o private grupo.

Cada usuario tiene su propio grupo principal, que lleva su nombre, sin otros miembros. Esta configuración hace posible cambiar el umask predeterminado valor:tradicionalmente era 022 (esto significa 644 permisos para archivos y 755 para directorios), ahora generalmente se establece en 002 (664 permisos para archivos y 775 para directorios).

Dado que, de manera predeterminada, cada archivo o directorio creado por un usuario se crea con el grupo principal de ese usuario, esta configuración, al mismo tiempo que preserva la seguridad (un usuario aún puede modificar solo sus propios archivos), simplifica el uso compartido de recursos y la colaboración entre usuarios que son miembros de el mismo grupo cuando se usa el bit setgid, al permitir permisos de escritura para el grupo.

Podemos obtener una lista de los grupos de los que un usuario es miembro, usando los groups comando:

$ groups
egdoc wheel

Como podemos observar en la salida del comando, el usuario actual, egdoc, pertenece al egdoc grupo, que es su propio grupo principal, y a la wheel group, lo que le permite ejecutar comandos con sudo , y es lo que se llama un secondary group :un grupo opcional que no está asociado con el usuario por defecto.

Agregar un usuario a un grupo usando usermod

Si bien un usuario es el único miembro de su grupo principal, es posible que queramos agregar un usuario a un grupo secundario, tal vez para otorgarle acceso a algún tipo de recursos. Digamos, por ejemplo, que tenemos una test usuario, y queremos agregarlo al grupo existente linuxconfig :la forma más fácil y recomendada de realizar esta tarea es usando el usermod comando:

$ sudo usermod -a -G linuxconfig test

Examinemos las opciones que usamos. El usermod utilidad, vamos a modificar una cuenta de usuario; al usarlo, podemos realizar una amplia gama de operaciones, como cambiar el directorio de inicio de un usuario, establecer una fecha de vencimiento para su cuenta o bloquearla de inmediato. El comando también nos permite agregar el usuario a un grupo existente. Las opciones que usamos en este caso son -G (abreviatura de --groups ) y -a , (que es la forma abreviada de --append ).

La opción -G o –groups nos permite proporcionar una lista de grupos complementarios separados por comas de los que el usuario debería ser miembro. Como dijimos antes, cada grupo proporcionado ya debe existir en el sistema. Una cosa muy importante para recordar es que la lista de los grupos provistos se interpreta de manera diferente si el -a también se proporciona la opción o no:en el primer caso, la lista se interpreta como los grupos adicionales a los que el usuario debe agregarse además de los que ya es miembro; cuando el -a no se proporciona la opción; en su lugar, la lista se interpreta como la lista absoluta de grupos de los que el usuario debe ser miembro. Como se indica en la página de manual del comando, en el último caso, si el usuario es actualmente miembro de un grupo que no forma parte de la lista proporcionada al comando, ¡será eliminado de ese grupo!

El usuario "prueba" ahora es miembro del grupo "linuxconfig". Vamos a verificarlo:

$ sudo groups test
test : test linuxconfig

Añadir usuario a un grupo directamente

Usando usermod es la forma más fácil de agregar un usuario a un grupo. En aras de la exhaustividad, ahora examinaremos otra forma de realizar la misma tarea utilizando el vigr comando de linux Este comando nos permite editar el /etc/group y /etc/gshadow archivos directamente, bloqueándolos también mientras están abiertos, para evitar que se dañen y garantizar la coherencia.

La versión "sombra" del archivo (/etc/gshadow) se modifica solo cuando -s se utiliza la opción. Para agregar nuestro usuario de "prueba" al grupo "linuxconfig" con este método, debemos ejecutar vigr comando como superusuario:el /etc/group El archivo se abrirá en el editor predeterminado (generalmente vi):

[...]
chrony:x:993:
egdoc:x:1000:
cgred:x:992:
docker:x:991:
apache:x:48:
test:x:1001:test
linuxconfig:x:1002:
[...]

La sintaxis utilizada para representar cada grupo es la siguiente:

group-name:group-password:group-id:users

Los campos están separados por dos puntos:el primero es el nombre del grupo, el segundo es la “contraseña” del grupo (que normalmente no se establece) y el tercer campo es el GID o ID de grupo. El último campo es la lista separada por comas de los miembros del grupo. Para agregar nuestro usuario de "prueba" al grupo "linuxconfig", debemos modificar este campo, de modo que la línea se convierta en:

linuxconfig:x:1002:test

Una vez realizado el cambio, podemos guardar y cerrar el archivo. Aparecerá un mensaje en el terminal:

You have modified /etc/group.
You may need to modify /etc/gshadow for consistency.
Please use the command 'vigr -s' to do so.

Desde que cambiamos el /etc/group archivo, el mensaje nos sugiere cambiar también el archivo shadow relacionado, que es /etc/gshadow . Para aquellos de ustedes que no saben, un archivo de sombra se utiliza para almacenar la versión cifrada de la información que no sería segura almacenar en forma de texto sin formato. Por ejemplo, como vimos antes, una x se informa en el /etc/group archivo, en lugar de la contraseña de grupo opcional; la versión codificada de la contraseña, si existe, se almacenaría en el archivo oculto.

Ahora, hagamos el mismo cambio que hicimos antes, en /etc/gshadow archivo, para que se sincronice con /etc/group . Todo lo que tenemos que hacer es proporcionar el -s marcar al vigr comando:

$ sudo vigr -s

Una vez abierto el archivo, hacemos el cambio necesario:

linuxconfig:!::test

Luego de eso, debemos forzar la escritura de este archivo, ya que es de solo lectura:al usar vi , podemos hacer esto ejecutando w! comando.

Una forma alternativa de mantener los dos archivos sincronizados es usar grpconv comando, que crea el /etc/gshadow archivo de /etc/group , y opcionalmente desde un /etc/gshadow ya existente archivo:

$ sudo grpconv

En este punto, podemos verificar la coherencia entre los dos archivos ejecutando:

$ sudo grpck

No se debe mostrar ninguna salida en este punto.

Conclusiones

En este tutorial vimos la diferencia entre un grupo primario y secundario y cuáles son sus roles en un DAC modelo. Vimos cómo podemos agregar un usuario a un grupo usando el usermod comando, que es la forma recomendada, o directamente usando el vigr comando editando de forma segura el /etc/group y /etc/gshadow archivos Sea cual sea el procedimiento que decidas utilizar para realizar esta tarea administrativa, siempre debes prestar la máxima atención.


Cent OS
  1. Cómo agregar y eliminar usuarios en CentOS, RHEL y Fedora

  2. Cómo agregar un usuario a un grupo en Linux

  3. Cómo ejecutar rsyslog como usuario no root en CentOS/RHEL 7

  4. Cómo agregar compatibilidad con idiomas adicionales en CentOS/RHEL

  5. Cómo agregar un script personalizado a systemd en CentOS/RHEL 7

Cómo agregar un usuario a un grupo en Linux

Cómo agregar un usuario a un grupo en Linux

Cómo agregar y eliminar usuarios en CentOS 8

Cómo agregar un usuario a un grupo en Linux

CentOS / RHEL:Cómo agregar una nueva partición de intercambio

Cómo agregar un usuario a un grupo de Linux

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema RHEL 8 / CentOS 8
    Software No se necesita ningún software especial para seguir este tutorial
    Otro Permiso para ejecutar el comando con privilegios de root.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios