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:
Error al inicializar libuser: no se ejecuta con privilegios de superusuarioSin nombre de usuario especificado,
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.