GNU/Linux >> Tutoriales Linux >  >> Linux

Administrar cuentas de grupos locales en Linux

Como seres humanos, cuando descubrimos un nuevo objeto, nuestro cerebro hace un par de cosas. Uno, vemos la utilidad del objeto. Dos, le asignamos un grupo al objeto para que sepamos cómo clasificarlo en el futuro. Por ejemplo, si un niño descubre un martillo, generalmente sabe que podría usarse para golpear cosas. Luego asignan el martillo a un grupo. En algunos casos, el niño etiqueta el martillo como una herramienta y solo lo usará para realizar una tarea. En otros, el niño etiquetará el martillo como un juguete. Sin embargo, la utilidad del martillo sigue siendo evidente, así que asegúrese de tener cuidado con este último niño. Esta es la razón por la cual la agrupación es importante.

Los grupos en Linux son importantes porque los usuarios están presentes en el sistema para una utilidad definida. Agrupar usuarios por utilidad (o acceso) es una forma fantástica de garantizar que solo los administradores tengan privilegios de administrador y que los usuarios generales solo puedan acceder a los archivos a los que están destinados. Los usuarios se dividen en tres clasificaciones distintas para facilitar un poco el proceso de agrupación:

  • Superusuarios - Responsable de la administración del sistema. La raíz la cuenta es el superusuario jefe y tiene UID 0 .
  • Usuarios del sistema - cuentas de usuario utilizadas por el propio sistema para ejecutar procesos o demonios. Cada uno de estos usuarios tiene sus propios archivos y recursos. Idealmente, los usuarios no inician sesión como usuario del sistema. El rango de UID es 1-999 .
  • Usuarios habituales - cuentas que la mayoría de nosotros usamos para realizar nuestro trabajo diario. Tienen acceso limitado a archivos y sistemas y deben obtener sudoer permisos para realizar tareas administrativas. Los UID comienzan en 1000+ .

Si desea obtener más información sobre los conceptos básicos de usuarios y grupos, consulte el artículo de Ken Hess Administración de cuentas de usuario con UID y GID. Para el resto de este artículo, me centro en la creación de grupos, la membresía y los códigos de identificación, así como también en cómo asignar privilegios de superusuario a un grupo.

Grupo principal

Todos los usuarios están asignados a un grupo principal de forma predeterminada. Para las cuentas locales, el GID principal es el mismo que aparece en el /etc/passwd expediente. Esto significa que el nombre de usuario y el nombre del grupo son iguales. También significa que el usuario es el único miembro de ese grupo. Por ejemplo:

[root@server ~]# useradd user01
[root@server ~]# su - user01
[user01@server ~]$ id
uid=1002(user01) gid=1002(user01) groups=1002(user01) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

El efecto secundario de este diseño es que hace que la gestión de permisos de archivos sea mucho más sencilla para los usuarios y administradores. Si desea reunir usuarios en un grupo principal para un propósito común, debe crear un grupo y luego asignarle los usuarios deseados.

[ También te puede interesar:Conceptos básicos de administrador de sistemas de Linux:administración de cuentas de usuario ]

Creación de grupos

Para nuestra demostración, voy a crear el grupo demogroup . Puede ver en la salida que el grupo ha sido creado y asignado GID 1007:

[root@server ~]# groupadd demogroup
[root@server ~]# tail /etc/group
cockpit-wsinstance:x:975:
flatpak:x:974:
rngd:x:973:
admin:x:1001:
user01:x:1002:
user02:x:1003:
user03:x:1004:
user04:x:1005:
user05:x:1006:
demogroup:x:1007:

Ahora cambiemos el GID a 10007:

[tcarrigan@server ~]$ sudo groupmod -g 10007 demogroup 
Output Omitted
[tcarrigan@server ~]$ sudo tail /etc/group
Output Omitted
demogroup:x:10007:

Usa el groupmod -g GID groupname sintaxis para cambiar el GID de cualquier grupo si es necesario. Si necesita cambiar el nombre de un grupo, use groupmod -n NEWNAME oldname . Aquí hay un ejemplo:

[tcarrigan@server ~]$ sudo groupmod -n usergroup demogroup 
[tcarrigan@server ~]$ sudo tail /etc/group
Output Omitted
usergroup:x:10007:

Tenga en cuenta que cambiamos el nombre de demogroup a usergroup . El grupo sigue siendo el mismo, como indica el GID 10007.

Agregar usuarios a un grupo

Un grupo sin miembros es como un bosque sin árboles. Entonces, ¿cómo agregamos algunos miembros? Fácil de hacer.

[tcarrigan@server ~]$ sudo usermod -g usergroup user01
[tcarrigan@server ~]$ sudo usermod -g usergroup user02
[tcarrigan@server ~]$ sudo usermod -g usergroup user03
[tcarrigan@server ~]$ sudo usermod -g usergroup user04
[tcarrigan@server ~]$ sudo usermod -g usergroup user05

Puede ver el cambio en el GID y el nombre del grupo cuando creamos user01 al comienzo de este ejercicio.

[user01@server ~]$ id
uid=1002(user01) gid=10007(usergroup) groups=10007(usergroup) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Grupo complementario

Ahora, un usuario también puede pertenecer a un grupo complementario. Un grupo complementario es solo eso:complementario. Un uso muy popular para los grupos complementarios es asignar privilegios administrativos a través de sudo .

Por ejemplo, si usuario01 necesita cambiar los permisos para otros usuarios en usergroup , sin asignar permisos de administrador a todo el grupo, asignamos usuario01 a un grupo complementario con permisos de administrador. En muchos sistemas, la rueda El grupo se usa para tales ocasiones.

Para agregar rueda como grupo complementario de user01 :

[tcarrigan@server ~]$ sudo usermod -aG wheel user01
[tcarrigan@server ~]$ su - user01
Output Omitted
[user01@server ~]$ id
uid=1002(user01) gid=10007(usergroup) groups=10007(usergroup),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

NOTA :El -a opción fuerza usermod en añadir modo. Si el -a no se usa la opción, el usuario se elimina de cualquier otro grupo complementario que no se encuentre en la lista de -G lista de opciones.

Ahora puede ver ese usuario01 tiene un grupo principal (usergroup ) y un grupo suplementario (rueda ).

Configuración del grupo Sudo

¿Qué sucede si necesitamos otorgar privilegios de administrador a la totalidad del grupo de usuarios? ? Para lograr esto, necesitamos crear el /etc/sudoers.d/usergroup archivo:

[root@server ~]# echo "%usergroup ALL=(ALL) ALL" >> /etc/sudoers.d/usergroup
[root@server ~]# su - user02
[user02@server ~]$ sudo cat  /etc/sudoers.d/usergroup
[sudo] password for user02:  
%usergroup ALL=(ALL) ALL

Puedes ver arriba de ese usuario02 , un miembro de grupo de usuarios , ahora tiene privilegios de administrador. Para obtener más información sobre los privilegios de administrador y el archivo sudoers, consulte mi artículo anterior Conceptos básicos de la línea de comandos de Linux:sudo.

[ ¿Quiere poner a prueba sus habilidades de administrador de sistemas? Tome una evaluación de habilidades hoy. ] 

¿Por qué debería importarte?

Si te haces la pregunta anterior, piensa de manera práctica en los siguientes conceptos:El uso de grupos en Linux es una parte fundamental del sistema operativo e incluso se requiere para ejecutar varias aplicaciones. La asignación de usuarios a grupos fácilmente controlados es una excelente manera de aumentar rápidamente la seguridad en sus sistemas y administrar varias cuentas de usuario. Como se muestra arriba, puede permitir que ciertos usuarios accedan a los privilegios de administrador para terminar un trabajo específico sin darles acceso de root al sistema. Si podemos mantener a nuestros usuarios organizados y productivos, mientras nos aseguramos de que solo tengan acceso a lo que necesitan, haremos nuestras vidas más fáciles y nuestras relaciones entre usuarios y administradores serán un poco menos estresantes. Su organización se beneficiará de estas mejoras desde cero, lo sepan o no.


Linux
  1. Feliz cumpleaños, Linux:27 años

  2. Cómo crear varias cuentas de usuario en Linux

  3. Administrar usuarios de Linux y grupos de Linux

  4. Listar miembros de un grupo en Linux

  5. ¿Cómo enumerar todos los usuarios en un grupo de Linux?

Comando Chgrp en Linux (Cambiar grupo)

Cómo migrar usuarios locales a cuentas LDAP

Introducción a la gestión de contenedores de Linux

Protección de un sistema Linux heredado

Cómo cambiar un Shell de usuario en Linux

Cómo enumerar todos los usuarios de un grupo en Linux