Cómo enumerar grupos en Linux

Guía de varios comandos y técnicas en Linux para enumerar grupos

En el ecosistema de Linux, la colección de usuarios se denomina "Grupo". Cuando se agrega un usuario a un grupo, estamos definiendo los permisos de un usuario de Linux. Los grupos también definen a qué archivos, configuraciones y carpetas debe tener acceso el usuario.

En los términos más simples, los grupos lo ayudan a averiguar y establecer los privilegios como read (r), escribir (w) y ejecutar (X) sobre un recurso compartido entre los usuarios. También puede modificar estos permisos cuando sea necesario.

Encontrar los grupos a los que pertenece una cuenta de usuario le ayudará a conocer los permisos que tiene un usuario en particular y también a cambiar los permisos cuando sea necesario.

Este breve tutorial lo ayudará a descubrir los grupos a los que pertenece un usuario utilizando algunos comandos y técnicas bastante simples.

Requisitos previos importantes

Antes de profundizar en el tutorial, sería útil tener una descripción general básica de algunos de los conceptos. Recomiendo a los principiantes que reparen primero estos conceptos.

Grupo: Una colección de usuarios del sistema Linux. Un solo usuario puede ser miembro de más de un grupo. Un grupo define qué permisos tiene un usuario.

Grupo primario: El grupo principal es el grupo principal asociado con la cuenta de usuario. Cada usuario debe ser miembro de un único grupo principal. Se crea al mismo tiempo que se crea la cuenta de usuario y el usuario se agrega automáticamente a este grupo. Por lo general, el nombre del grupo principal es el mismo que el nombre del usuario.

Grupo secundario:El grupo secundario es opcional y un usuario puede tener o no un grupo secundario. Se utiliza para otorgar algunos derechos adicionales al usuario. El usuario puede ser miembro de varios grupos secundarios.

/ etc / group Archivo: En Linux, la pertenencia al grupo está controlada por el / etc / group Archivo. Es un archivo de texto simple que contiene una lista de grupos y los usuarios que pertenecen a cada grupo.

/ etc / passwd Archivo: Este archivo contiene información para todas las cuentas de usuario en el sistema. Hay una entrada de una cuenta de usuario por línea representada en este archivo.

Utilizando el grupos mando

Utilizando el grupos El comando es un proceso súper simple para enumerar los grupos a los que pertenece el usuario actual. También puede utilizar este comando para enumerar los grupos de un usuario específico registrado en el sistema.

Sintaxis:

grupos

Producción:

gaurav @ ubuntu: ~ $ grupos gaurav adm cdrom sudo dip plugdev lpadmin sambashare gaurav @ ubuntu: ~ $

Encontrar un grupo de un usuario en particular.

Sintaxis:

grupos [nombre de usuario]

Ejemplo:

gaurav @ ubuntu: ~ $ grupos tomcat tomcat: tomcat lpadmin sambashare gaurav @ ubuntu: ~ $ 

En este ejemplo, he enumerado los grupos a los que el usuario nombró gato pertenece.

Utilizando el identificación mando

Utilizando el identificación comando muestra la información de grupo del usuario. Muestra parámetros como uid (identificación de usuario), gid (ID de grupo) y la lista de grupos a los que pertenece el usuario.

Sintaxis:

id [nombre de usuario]

Ejemplo:

gaurav @ ubuntu: ~ $ id tomcat uid = 1002 (tomcat) gid = 1002 (tomcat) grupos = 1002 (tomcat), 113 (lpadmin), 128 (sambashare) gaurav @ ubuntu: ~ $

identificación El comando cuando se usa sin un argumento devuelve la información de grupo sobre el usuario actual.

Ejemplo:

gaurav @ ubuntu: ~ $ id uid = 1000 (gaurav) gid = 1000 (gaurav) grupos = 1000 (gaurav), 4 (adm), 24 (cdrom), 27 (sudo), 30 (dip), 46 (plugdev) , 113 (lpadmin), 128 (sambashare) gaurav @ ubuntu: ~ $

Aquí, se muestra la información del grupo del usuario actual.

Usando el archivo / etc / group

Como se discutió en el bloque de requisitos previos, sabemos que / etc / group El archivo contiene toda la información de los grupos disponibles en el sistema. Podemos usar este archivo para ver la lista de grupos usando un comando simple como sigue.

Puedes usar gato, menos o grep comando para listar abrir el contenido de este archivo.

menos / etc / group

Producción:

root: x: 0: daemon: x: 1: bin: x: 2: sys: x: 3: adm: x: 4: syslog, gaurav tty: x: 5: disk: x: 6: lp: x: 7 : mail: x: 8: news: x: 9: uucp: x: 10: man: x: 12: proxy: x: 13: kmem: x: 15: dialout: x: 20: fax: x: 21: voice : x: 22: cdrom: x: 24: gaurav floppy: x: 25: tape: x: 26: sudo: x: 27: gaurav audio: x: 29: pulse dip: x: 30: gaurav, batman www-data : x: 33:

Esto mostrará una lista de todos los grupos en el sistema Linux.

Listado de todos los grupos usando getent mando

getent El comando se puede utilizar para mostrar una lista de todos los grupos disponibles en su sistema Linux. El resultado es similar al del contenido de / etc / group Archivo.

Utilizando grupo getent El comando muestra las entradas de las bases de datos configuradas en /etc/nsswitch.conf Archivo.

Sintaxis:

grupo getent

Ejemplo:

gaurav @ ubuntu: ~ $ getent grupo raíz: x: 0: demonio: x: 1: bin: x: 2: sys: x: 3: adm: x: 4: syslog, gaurav tty: x: 5: disco: x : 6: lp: x: 7: mse dip: x: 30: gaurav, batman: x: 39: stmp: x: 43: video: x: 44: sasl: x: 45: plugdev: x: 46: personal de gaurav : x: 50: juegos: x: 60: usuarios: x: 100: 106: crontab: x: 107: vahi: x: 120: bluetooth: x: 121: escáner: x: 122: saned colord: x: 123: pulse: x: 124: pulse-access: x: 125: rtkit: x: 126: saned: x: 127: trinity: x: 1000: sambashare: x: 128: gaurav mongodb: x: 130: mongodb guest-tqrhc7: x: 999: guest-piinii: x: 998: scala: x: 997: sbt: x: 996: guest-oi9xaf: x: 995: tomcat: x: 1001: tomcat7: x: 132: tomcat8: x: 133: geoclue: x: 105: gdm: x: 134: mysql: x: 129: couchdb: x: 131: temporal: x: 1002:

Para encontrar el grupo de un usuario en particular, use el siguiente comando.

grupo getent | grep [nombre de usuario]

Ejemplo:

gaurav @ ubuntu: ~ $ grupo getent | grep gaurav adm: x: 4: syslog, gaurav cdrom: x: 24: gaurav sudo: x: 27: gaurav dip: x: 30: gaurav, batman plugdev: x: 46: gaurav lpadmin: x: 113: gaurav gaurav: x: 1000: sambashare: x: 128: gaurav gaurav @ ubuntu: ~ $ 

Todos los grupos asociados con el usuario gaurav ahora se enumeran en el terminal.

Utilizando libuser-lid mando

libuser-lid El comando muestra información sobre los grupos que contienen el nombre de usuario o los usuarios incluidos en el nombre del grupo.

NOTA: Este comando requiere sudo privilegios. De lo contrario, encontrará un error de la siguiente manera:

Sin nombre de usuario especificado,

Error al inicializar libuser: no se ejecuta con privilegios de superusuario

En caso de que libuser-lid La utilidad no está disponible en sus distribuciones, puede usar el siguiente comando para instalarla.

Para Ubuntu y Debian usuarios:

sudo apt-get update
sudo apt-get install libuser

Para CentOS, Fedora y otras distribuciones:

sudo yum instalar libuser

Sintaxis:

sudo libuser-lid [nombre de usuario]

Ejemplo:

gaurav @ ubuntu: ~ $ sudo libuser-lid gaurav 

Producción:

adm (gid = 4) cdrom (gid = 24) sudo (gid = 27) dip (gid = 30) plugdev (gid = 46) lpadmin (gid = 113) trinity (gid = 1000) sambashare (gid = 128)

Aquí, se enumeran todos los grupos que están asociados con el nombre de usuario ingresado.

Conclusión

En este tutorial súper simple, ahora hemos aprendido a mostrar los grupos disponibles en los sistemas Linux. Los comandos explicados en este tutorial se pueden aplicar en todas las distribuciones de Linux de la misma manera.