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

15

Sé que hay nombres de grupo como "Personal" y "Administrador", pero ¿son esos los únicos? Sospecho que el usuario raíz también debe asignarse en un grupo. El uso del comando dscacheutil -q userme 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
Ladrillo
fuente

Respuestas:

22

El comando dscacheutil -q groupmostrará todos los grupos con su nombre, números de identificación y lista de miembros. Tenga en cuenta que cuando digo que dará salida a todos los grupos, me refiero a todos los grupos, incluido el sistema incorporado que los mortales nunca debieron ver. Solo digo, no se asuste, hay tantos grupos para un sistema de usuario único.

rootya que el superusuario está en un grupo por sí mismo y también, implícitamente, un miembro de cualquier otro grupo. Cualquier cuenta de usuario puede ser miembro de múltiples grupos. En mi sistema, el único miembro de staffes root; Los administradores están todos en el admingrupo. wheeles otro nombre de grupo que verá con frecuencia para algunos archivos del sistema; es un nombre de grupo popular en los sistemas Linux para asignar archivos a fin de que los administradores puedan editarlos sin usar su contraseña 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 +en la lista de permisos de archivo indica que hay tales permisos extendidos asociados con el archivo.

ceniza
fuente
13

Métodos alternativos para el listado groupsy sus gid:

Lista ordenada por nombre de grupo:

dscl . list /Groups PrimaryGroupID

Lista ordenada por grupo gid:

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

Lista de grupos con miembros:

dscl . list /Groups GroupMembership

Nota: dscacheutilni dsclenumere los miembros del grupo que staffno sean root. Use dsmemberutilpara confirmar que un miembro pertenece al grupo staff.

Ejemplo un usuario con uid 501:

dsmemberutil checkmembership -u 501 -g 20
fd0
fuente
1
¡Guau, una buena compilación de comandos útiles!
Yongwei Wu