¿Puedo tener una lista de nombres de grupos del "Sistema" y sus gid (s) respectivos?

14

Sé que hay nombres de grupos como "Personal" y "Administrador", pero ¿son esos los únicos? Sospecho que el usuario root también debe ser asignado en un grupo. El uso del comando dscacheutil -q user me dice el gid de root - 0. Y si una cuenta de usuario es un administrador, ¿no está en los grupos "Admin" y "Staff"?

Al ejecutar el comando ls -la /Users , obtengo el siguiente resultado:

Nicholass-MacBook:~ Ee$ ls -la /Users
total 32
drwxr-xr-x  12 root     admin    408 Nov  3 15:11 .
drwxr-xr-x@ 35 root     wheel   1258 Oct 29 20:21 ..
-rw-r--r--@  1 root     admin  12292 Oct 27 09:02 .DS_Store
-rw-r--r--   1 root     wheel      0 Aug 25 16:58 .localized
drwxrwx---   5 root     admin    170 Nov  3 08:00 Deleted Users
drwxr-xr-x+ 21 Ee       staff    714 Nov  3 08:06 Ee
drwx------+ 84 root     admin   2856 Oct 26 06:49 Ee (Deleted)
drwxr-xr-x+ 11 EeJ      staff    374 Nov  3 15:07 EeJ
drwxr-xr-x+ 14 900      admin    476 Oct 24  2012 Ee******** (Deleted)
drwxr-xr-x   3 root     admin    102 Oct 27 06:50 Old Ee (frm Snow Leopard)
drwxr-xr-x+ 11 ParAcnt  staff    374 Nov  3 15:11 ParAcnt
drwxrwxrwt   6 root     wheel    204 Nov  1 18:18 Shared
    
pregunta Brick 04.11.2013 - 01:47

2 respuestas

18

El comando dscacheutil -q group generará todos los grupos con su nombre, números de identificación y lista de miembros. Se advierte que, cuando digo que generará todos los grupos, me refiero a todos de los grupos, incluido el sistema integrado que los mortales nunca debieron ver. Solo digo que no se asusten, hay tantos grupos para un sistema de un solo usuario.

root ya que el superusuario está en un grupo por sí mismo y también es miembro implícitamente de todos los demás grupos. Cualquier cuenta de usuario puede ser miembro de múltiples grupos. En mi sistema, el único miembro de staff es root ; Los administradores están todos en el grupo admin . wheel es otro nombre de grupo que verás frecuentemente en algunos archivos del sistema; es un nombre de grupo popular en los sistemas Linux que se asigna a los archivos para que los administradores puedan editarlos sin usar su contraseña en sudo .

También se debe tener en cuenta que Mac OS X admite listas de control de acceso que proporcionan un control más granular sobre los permisos de archivos que los permisos tradicionales de Unix; IIRC el + en la lista de permisos de archivos indica que hay tales permisos extendidos asociados con el archivo.

    
respondido por el ash 04.11.2013 - 02:24
12

Métodos alternativos para listar groups y su gid :

Lista ordenada por nombre de grupo:

dscl . list /Groups PrimaryGroupID

Lista ordenada por gid de grupo:

dscl . list /Groups PrimaryGroupID | tr -s ' ' | sort -n -t ' ' -k2,2

Lista de grupos con miembros:

dscl . list /Groups GroupMembership

Nota: ni dscacheutil ni dscl enumeran a los miembros del grupo staff que no sea root . Use dsmemberutil para confirmar que un miembro pertenece al grupo staff .

Ejemplo de un usuario con uid 501:

dsmemberutil checkmembership -u 501 -g 20
    
respondido por el fd0 01.06.2016 - 15:56

Lea otras preguntas en las etiquetas