Cómo enumerar grupos en Linux

Under la máquina o el sistema operativo Linux, los grupos albergan una colección de usuarios del sistema. Necesitamos grupos en el sistema operativo Linux para definir o clasificar los privilegios asignados a cada miembro de un grupo con respecto a sus permisos ejecutables controlados por recursos, como realizar una operación de lectura y escritura. Los usuarios del sistema o los miembros de un grupo comparten esta configuración de permisos. Un grupo existente o creado también puede acomodar a nuevos miembros o usuarios del sistema que heredan automáticamente los privilegios o la configuración de permisos que ya se encuentran en su lugar.

Este artículo tutorial analiza de cerca los enfoques disponibles para implementar y enumerar grupos dentro de un sistema operativo Linux.

Índice

Grupos de Linux

Antes de comenzar esta emocionante aventura de Linux, primero debemos familiarizarnos con los tipos de grupos de usuarios que existen en un sistema Linux.

Grupo principal o de inicio de sesión

Este grupo se ocupa de los archivos creados por el usuario. El nombre asignado a un grupo principal o de inicio de sesión es idéntico al nombre utilizado por el usuario del sistema. Es obligatorio que cada usuario del sistema Linux resida dentro de un grupo principal.

Grupo secundario o complementario

Es el grupo que otorga privilegios y se ocupará de ciertos privilegios a los que ciertos usuarios del sistema deben acceder o usar. Cuando se trata de un grupo secundario, un usuario puede pertenecer a muchos de ellos, ya que cada grupo operará con un conjunto de privilegios de usuario diferentes.

Listado de grupos en Linux

El sistema operativo Linux proporciona varias formas de enumerar grupos, y estos enfoques nos ayudan a identificar el paradero de todos los usuarios del sistema. La ruta del sistema al archivo /etc / passwd aloja el grupo de usuarios de inicio de sesión. Además, si hay otros grupos suplementarios presentes, la ruta del sistema al archivo / etc / group atiende a ellos. La flexibilidad de enumerar grupos en Linux es que se puede implementar a través de una serie de comandos de terminal.

1. Listado de grupos a través del "Comando de grupos "

Es el comando más memorable para trabajar y enumerar los grupos asociados con un usuario activo de Linux. Su uso y ejecución pueden ser contundentes y directos sin considerar ningún otro argumento. Imprime un usuario actualmente conectado o activo y los grupos con los que este usuario está asociado dentro del sistema.

$ groups

La salida de lo anterior produce resultados similares a la siguiente instancia:

tuts_admin admin cdrom sudo dip plugdev lpadmin sambashare

Podemos agregar algunos ajustes a esto. grupos comando al incluir un argumento que contenga un nombre de usuario del sistema Linux.

$ groups tuts

El comando anterior enumera todos los grupos que el usuario tuts pertenece o está bajo. Conozca a los usuarios actuales de su sistema Linux para usar este comando de manera efectiva. Se espera un resultado similar al siguiente.

tuts : tuts adm cdrom sudo dip plugdev lpadmin sambashare

2. Listado de grupos a través del "ID Command"

La funcionalidad de este comando lo hace específico. Puede usarse con o sin argumento. Si se usa sin un argumento, imprime información del sistema sobre el usuario que ha iniciado sesión actualmente.

$ id

Espere un resultado como el siguiente:

uid=1001(tuts) gid=1001(tuts) groups=1001(tuts),27(sudo)

También podemos agregar un nombre de usuario activo del sistema Linux como argumento.

$ id tuts

Su salida es:

uid=1001(tuts) gid=1001(tuts) groups=1001(tuts),27(sudo)

La salida del comando anterior es similar a la que se ejecutó anteriormente porque estamos haciendo referencia al mismo usuario del sistema. El comando genera el usuario (tuts), grupos secundarios (grupos), grupo primario (gid), y ID de usuario (uid). Si desea que el resultado de usar el comando de identificación Para omitir esta salida compleja detallada e imprimir los grupos que pertenecen al usuario especificado, puede usar opcionalmente los argumentos -nG.

$ id tuts -nG

El comando dará como resultado:

tuts sudo

3. Listado de grupos a través del "Getent Mando"

La sintaxis para usar el getent comando es el siguiente.

# getent group groupname

Cuando ejecute este comando, mostrará las entradas de la base de datos que hacen referencia directamente al Cambio de servicio de nombre bibliotecas configurables con el nombre de archivo del sistema /etc / nsswitch.conf.

$ getent group | grep tuts

El resultado esperado es similar al siguiente:

adm:x:4:syslog,tuts

cdrom:x:24:tuts

sudo:x:27:tuts_admin,tuts

dip:x:30:tuts

plugdev:x:46:tuts

lpadmin:x:116:tuts

tuts_admin:x:1000:

sambashare:x:126:tuts

También podemos generar los grupos vinculados a un usuario específico del sistema si incluimos el awk mando como argumento de la cadena de comandos anterior.

$ getent group | grep tuts | awk -F: '{print $1}'

El resultado que sigue es:

adm

cdrom

sudo

dip

plugdev

lpadmin

tuts

sambashare

Es posible que también le interese específicamente la información del grupo principal. Puede lograr este objetivo a través de la siguiente cadena de comandos.

$ getent group tuts

Obtendrá un resultado similar al siguiente.

tuts:x:1000:

4. Listado de grupos a través del archivo "/ etc / group"

Como en las secuencias de comandos anteriores, el comando grep también ayudará a ejecutar las cadenas de comandos aplicables aquí. También es una manera fácil de obtener información de grupo impresa por el usuario vinculada con el / etc / group archivo de sistema. El comando grep es una abreviatura de impresión de expresión regular global. Se relaciona con su utilidad para imprimir o generar el contenido de un archivo específico en un formato coincidente. Consideremos su caso de uso práctico:

$ grep tuts /etc/group

Deberíamos esperar un resultado similar al siguiente:

adm:x:4:syslog,tuts

cdrom:x:24:tuts

sudo:x:27:tuts_admin,tuts

dip:x:30:tuts

plugdev:x:46:tuts

lpadmin:x:116:tuts

tuts_admin:x:1000:

sambashare:x:126:tuts

También podemos integrar el comando awk con el comando anterior si queremos una impresión de los grupos vinculados a un usuario específico del sistema.

$ grep tuts /etc/group | awk -F: '{print $1}'

El resultado esperado es:

adm

cdrom

sudo

dip

plugdev

lpadmin

tuts

sambashare

5. Listado de grupos a través del "Bash Script"

Un script bash simple también puede ayudarnos a lograr un objetivo similar al de los otros comandos del sistema establecidos anteriormente. Considere el siguiente uso de un script bash:

$ for user in $(cut -d":" -f1 /etc/passwd); do groups $user; done

Obtendrá una larga cadena de salida similar a los siguientes resultados:

root : root

daemon : daemon

bin : bin

sys : sys

sync : nogroup

games : games

man : man

lp : lp

mail : mail

news : news

uucp : uucp

proxy : proxy

www-data : www-data

backup : backup

list : list

irc : irc

gnats : gnats

nobody : nogroup

systemd-network : systemd-network

systemd-resolve : systemd-resolve

syslog : syslog adm tty

messagebus : messagebus

_apt : nogroup

uuidd : uuidd

avahi-autoipd : avahi-autoipd

usbmux : plugdev

dnsmasq : nogroup

rtkit : rtkit

cups-pk-helper : lpadmin

speech-dispatcher : audio

whoopsie : whoopsie

kernoops : nogroup

saned : saned scanner

pulse : pulse audio

avahi : avahi

colord : colord

hplip : lp

geoclue : geoclue

gnome-initial-setup : nogroup

gdm : gdm

tuts_admin : tuts_admin adm cdrom sudo dip plugdev lpadmin sambashare

mysql : mysql

tuts : tuts sudo

systemd-timesync : systemd-timesync

tss : tss

tcpdump : tcpdump

nm-openvpn : nm-openvpn

systemd-coredump : systemd-coredump

También podemos implementar un script bash para trabajar con un usuario específico o generar resultados vinculados con un usuario o usuarios específicos.

$ for user in tuts tuts_admin; do groups $user; done

Espere un resultado como el siguiente:

tuts : tuts sudo

tuts_admin : tuts_admin adm cdrom sudo dip plugdev lpadmin sambashare

6. Listado de grupos a través del "Comando Compgen"

Este comando pertenece a la familia bash. Está integrado, lo que implica que solo necesita descubrir cómo usarlo. Mostrará todos los grupos registrados y activos en un entorno de sistema Linux.

Su uso es el siguiente:

$ compgen -g

La salida de la línea de comandos debe ser similar a la siguiente:

root

daemon

bin

sys

adm

tty

disk

lp

mail

news

uucp

man

proxy

kmem

dialout

fax

voice

cdrom

floppy

tape

sudo

audio

dip

www-data

backup

operator

list

irc

src

gnats

shadow

utmp

video

sasl

plugdev

staff

games

users

nogroup

systemd-journal

systemd-network

systemd-resolve

input

crontab

syslog

messagebus

netdev

mlocate

ssl-cert

uuidd

avahi-autoipd

bluetooth

rtkit

ssh

lpadmin

whoopsie

scanner

saned

pulse

pulse-access

avahi

colord

geoclue

gdm

tuts_admin

sambashare

mysql

tuts

systemd-timesync

tss

kvm

render

tcpdump

rdma

nm-openvpn

systemd-coredump

root

nogroup

7. Listado de grupos a través del "comando de miembros"

El comando de miembros enumerará los usuarios asociados con un grupo en particular dentro de un entorno de sistema Linus. Su uso sigue la siguiente sintaxis.

# members target_system_group

Para usar el comando de miembro, es posible que deba instalarlo primero, ya que no es una herramienta incorporada para distribuciones como Ubuntu. Puede lograr su instalación exitosa a través de la siguiente cadena de comando:

$ sudo apt install members

Ahora prácticamente podemos implementarlo de la siguiente manera:

$ members sudo

El comando generará resultados similares a:

tuts_admin tuts

También puede lograr otros resultados interesantes combinando estos comandos. Por ejemplo, podemos contar el número total de grupos activos que existen actualmente dentro de un entorno de sistema Linux mediante la siguiente cadena de comandos.

$ getent group | grep -c ""

La salida de mi final es:

78

Otra cadena de comando para lograr un resultado similar es la siguiente:

$ cat /etc/group | grep -c ""

Este comando dio como resultado:

76

Pensamientos finales

Ahora que ha cubierto con éxito este artículo tutorial, nadie debería cuestionar su naturaleza geek al tratar con grupos y miembros en un entorno de sistema Linux. Acaba de aumentar su base de conocimientos de Linux en un kilometraje significativo. Estos comandos son útiles cuando se administra un sistema enorme en el que un administrador del sistema desea familiarizarse con los miembros y grupos activos de una red específica. Ayuda a administrar grupos y usuarios que se supone que existen dentro de un sistema y auditar o deshacerse de aquellos que no son reconocidos o que han violado el sistema de red de configuración. Ahora tiene una comprensión dinámica de los grupos de Linux, de modo que no solo se aplica a los usuarios de un sistema Linux, sino que también puede relacionarse con los permisos, privilegios, aplicaciones y servicios del sistema prestados.

Ahora que sabe y comprende cómo enumerar grupos en Linux, encontrará más información sobre cómo enumerar usuarios de Linux a través de este enlace.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir