¿Cómo enumerar grupos con gid en redhat?


42

Primero enumeré los grupos usando:

groups 

Agregué grupo usando

groupadd -g 300 oinstall
groupadd –g 500 dba

y luego cuando lo hago

groups 
root bin daemon sys adm disk wheel sfcb

No puedo encontrar los grupos que agregué. ¿Cómo enumerar grupos con id de grupo? Además, si trato de agregarlo nuevamente, dice que los grupos ya están presentes.

Respuestas:


67

El groupscomando enumera los grupos a los que pertenece actualmente el usuario, no todos los grupos disponibles en el sistema. Puede buscar un grupo por nombre o gid usando el getentcomando.

getent group oinstall
getent group 500

Para mostrar todos los grupos, simplemente deje su consulta de búsqueda fuera del comando:

getent group

2
@Kitex porque creaste el grupo pero no eres miembro de él. Debe agregar su usuario al grupo, luego cerrar sesión y volver a iniciar sesión para que aparezca con el groupscomando.
jordanm

1
@kitex Actualicé ligeramente la redacción, espero que te ayude a entender.
jordanm

2
@Kitex actualizó la respuesta
jordanm

3
@kinkajou tiene mucha experiencia profesional y mucho tiempo en sitios como este y soporte IRC Linux. He sido profesional y entusiasta durante aproximadamente 8 años. Creo que ser entusiasta es una parte importante porque es más probable que recuerdes cosas que te importan.
jordanm

1
@kinkajou Usé Gnu / Linux para toda mi informática en casa. Ordenadores de sobremesa, portátiles, de frambuesa. Lo he estado usando desde 1991 (originalmente Gnu en Solaris, diciembre, HP). Sigo añadiendo a mi conocimiento; No es necesario eliminarlo y comenzar de nuevo (como con Windows de Microsoft).
ctrl-alt-delor

9

Puede enumerar grupos mediante el uso getento, si no está presente, buscar en/etc/group

Al ejecutar el comando, el GID es el tercer valor en la salida, por ejemplo:

$ getent group
man:x:15:
audio:x:63:
nobody:x:99:
users:x:100:
<--snipped-->
utmp:x:22:

Entonces, para enumerar solo los nombres de grupo y su GID, use awkpara imprimir las columnas que desee de esta manera:

$ getent group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22

Ver también http://man7.org/linux/man-pages/man1/getent.1.html

En el caso que getentno está presente.

$ grep $group /etc/group

El GID es el tercer valor en la salida. P.ej

$ grep users /etc/group
users:x:100:

En lo anterior, el GID para los usuarios del grupo es 100. Para obtener solo el nombre del grupo y el GID, puede usar awk y grep de esta manera:

$ cat /etc/group | awk -F ":" '{ print $1,$3 }' 
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22

Tenga en cuenta que para los sistemas configurados para usar autenticación externa (como LDAP), todos los grupos no estarán presentes en el archivo / etc / group. Ver también http://www.cyberciti.biz/faq/understanding-etcgroup-file/


66
Los grupos no siempre se almacenan en /etc/group. Podrían almacenarse en NIS, LDAP, etc.
jordanm

1
No trabaje con el grupo ldap, úselo getent group.
MUY Bélgica
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.