Sé que hay un /etc/group
archivo que enumera todos los grupos de usuarios.
Me gustaría saber si hay un comando simple para enumerar todos los nombres de grupos de usuarios a pesar de analizar el /etc/group
archivo legible en todo el mundo . Estoy dispuesto a crear una página web de administrador que enumere los nombres de los grupos de cuentas de Linux.
Respuestas:
Para enumerar todos los grupos locales que tienen usuarios asignados, use este comando:
Para más información-> Grupos de Unix , comando Cortar , comando ordenar
fuente
cut
es otro comando que extrae la columna específica de una entrada. Aquí estoy extrayendo el campo 1 donde los campos están delimitados por:
Si desea que todos los grupos sean conocidos por el sistema, recomendaría usar en
getent group
lugar de analizar/etc/group
:La razón es que en los sistemas en red, los grupos no solo pueden leer
/etc/group
archivo, sino también obtenerlos a través de LDAP o Páginas Amarillas (la lista de grupos conocidos proviene del archivo de grupo local más los grupos recibidos a través de LDAP o YP en estos casos).Si desea solo los nombres de grupo que puede usar:
fuente
getent group | cut -d: -f1 | sort
getent group | cut -d: -f1 | sort | cat -n
.En Linux, macOS y Unix para mostrar los grupos a los que pertenece, use:
que es equivalente a la
groups
utilidad que ha quedado obsoleta en Unix (según el manual de Unix ).En macOS y Unix,
id -p
se sugiere el comando para la interacción normal.Explicación de los parámetros:
fuente
id -Gn someusername
devuelve la lista de grupos para el usuario especificado.id -Gnz | xargs -0 -I% echo %
enumerará cada grupo en una línea separada. Esto es útil si los nombres de los grupos tienen espacios en ellos.groups
obsoleto? Alguna fuente? Busqué "comando de grupos de Unix obsoleto" pero no encontré nada.groups
.