Cómo Listar Grupos en Linux
Guía de varios comandos y técnicas en Linux para listar grupos
En el ecosistema 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 términos simples, los grupos le ayudan a averiguar y establecer privilegios como leer (r
), escribir (w
) y ejecutar (x
) sobre un recurso compartido entre los usuarios. También puede modificar estos permisos cuando sea necesario.
Descubrir 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 le 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 visión general básica de algunos de los conceptos. Recomendaría a los principiantes que repasen estos conceptos primero.
Grupo: Una colección de usuarios en el sistema Linux. Un solo usuario puede ser miembro de más de un grupo. Un grupo define qué permisos tiene un usuario.
Grupo principal: El grupo principal es el grupo principal asociado a la cuenta de usuario. Cada usuario debe ser miembro de un único grupo primario. Se crea al mismo tiempo que se crea la cuenta de usuario y el usuario se agrega automáticamente a este grupo. Generalmente, el nombre del grupo primario es el mismo que el nombre del usuario.
Grupo secundario:El grupo secundario es opcional y un usuario puede o no tener un grupo secundario. Se utiliza para otorgar algunos derechos adicionales al usuario. El usuario puede ser miembro de varios grupos secundarios.archivo
/etc/group
: En Linux, la pertenencia al grupo está controlada por el archivo /etc/group
. Es un simple archivo de texto que contiene una lista de grupos y los usuarios que pertenecen a cada grupo.archivo
/etc/passwd
: Este archivo contiene información de todas las cuentas de usuario del sistema. Hay una entrada de una cuenta de usuario por línea representada en este archivo.
Usar el comando grupos
Usar el comando groups
es un proceso súper simple para listar los grupos a los que pertenece el usuario actual. También puede usar este comando para enumerar los grupos de un usuario específico registrado en el sistema.Sintaxis
:
groups
Producto:
gaurav@ubuntu:~$ groupsgaurav adm cdrom sudo dip plugdev lpadmin sambasharegaurav@ubuntu:~$
Encontrar un grupo de un usuario en particular.Sintaxis
:
groups
Ejemplo:
gaurav@ubuntu:~$ groups tomcattomcat : tomcat lpadmin sambasharegaurav@ubuntu:~$
En este ejemplo, he enumerado los grupos a los que pertenece el usuario llamado tomcat.
Usando el comando id
Usando el comando id
muestra la información del grupo del usuario. Muestra parámetros como uid
(id de usuario), gid
(id de grupo) y la lista de grupos a los que pertenece el usuario.Sintaxis
:
id
Ejemplo:
gaurav@ubuntu:~$ id tomcatuid=1002(tomcat) gid=1002(tomcat) groups=1002(tomcat),113(lpadmin),128(sambashare)gaurav@ubuntu:~$
id
el comando cuando se usa sin argumento devuelve la información del grupo sobre el usuario actual.
Ejemplo:
gaurav@ubuntu:~$ iduid=1000(gaurav) gid=1000(gaurav) groups=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 el archivo /etc/group
contiene toda la información de los grupos disponibles en el sistema. Podemos usar este archivo para ver la lista de los grupos usando un simple comando de la siguiente manera.
Puede usar el comando cat
, less
o grep
para abrir el contenido de este archivo.
less /etc/group
Salida:
root:x:0:daemon:x:1:bin:x:2:sys:x:3:adm:x:4:syslog,gauravtty: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:gauravfloppy:x:25:tape:x:26:sudo:x:27:gauravaudio:x:29:pulsedip:x:30:gaurav,batmanwww-data:x:33:
Esto listará los grupos completos en el sistema Linux.
Listar todos los grupos usando el comando getent
getent
el comando se puede usar para mostrar una lista de todos los grupos disponibles en su sistema Linux. La salida es similar a la del contenido del archivo /etc/group
.
El comando getent group
muestra las entradas de las bases de datos configuradas en el archivo /etc/nsswitch.conf
.
Sintaxis:
getent group
Ejemplo:
gaurav@ubuntu:~$ getent grouproot:x:0:daemon:x:1:bin:x:2:sys:x:3:adm:x:4:syslog,gauravtty:x:5:disk:x:6:lp:x:7:msedip:x:30:gaurav,batman:x:39:stmp:x:43:video:x:44:sasl:x:45:plugdev:x:46:gauravstaff:x:50:games:x:60:users:x:100:106:crontab:x:107:vahi:x:120:bluetooth:x:121:scanner:x:122:sanedcolord:x:123:pulse:x:124:pulse-access:x:125:rtkit:x:126:saned:x:127:trinity:x:1000:sambashare:x:128:gauravmongodb:x:130:mongodbguest-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:temporary:x:1002:
Para encontrar el grupo de un usuario en particular, utilice el siguiente comando.
getent group | grep
Ejemplo:
gaurav@ubuntu:~$ getent group | grep gauravadm:x:4:syslog,gauravcdrom:x:24:gauravsudo:x:27:gauravdip:x:30:gaurav,batmanplugdev:x:46:gauravlpadmin:x:113:gauravgaurav:x:1000:sambashare:x:128:gauravgaurav@ubuntu:~$
Todos los grupos asociados con el usuario gaurav ahora están listados en el terminal.
Usando el comando libuser-lid
libuser-lid
el comando muestra información sobre los grupos que contienen el nombre de usuario o los usuarios contenidos en el nombre de grupo.
NOTA: Este comando requiere privilegios sudo
. De lo contrario, encontrará un error de la siguiente manera-
No user name specified,
Error initializing libuser: not executing with superuser privileges
En caso de que la utilidad libuser-lid
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 install libuser
Sintaxis:
sudo libuser-lid
Ejemplo:
gaurav@ubuntu:~$ sudo libuser-lid gaurav
Salida:
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 introducido.
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.
Leave a Reply