Puis-je avoir une liste des noms de groupe «Système» et leurs identifiants respectifs?

15

Je sais qu'il existe des noms de groupe tels que "Personnel" et "Admin", mais sont-ils les seuls? Je soupçonne que l'utilisateur root devrait également être affecté à un groupe. L'utilisation de la commande dscacheutil -q userm'indique le gid de root - 0. Et si un compte d'utilisateur est un administrateur, n'est-ce pas dans les groupes "Admin" et "Personnel"?

En exécutant la commande ls -la /Users, j'obtiens la sortie suivante:

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
Brique
la source

Réponses:

22

La commande dscacheutil -q groupaffichera tous les groupes avec leur nom, leurs numéros d'identification et la liste des membres. Soyez averti, quand je dis que cela produira tous les groupes, je veux dire tous les groupes, y compris ceux que les mortels du système intégré n'ont jamais été censés voir. Je dis juste, ne paniquez pas, il y a tellement de groupes pour un système mono-utilisateur.

rootcar le superutilisateur est dans un groupe par lui-même et aussi implicitement membre de tous les autres groupes. Tout compte d'utilisateur peut être membre de plusieurs groupes. Sur mon système, le seul membre de staffest root; les administrateurs sont tous dans le admingroupe. wheelest un autre nom de groupe que vous verrez fréquemment pour certains fichiers système; c'est un nom de groupe populaire sur les systèmes Linux à attribuer aux fichiers afin que les administrateurs puissent les modifier sans utiliser leur mot de passe sudo.

Il convient également de noter que Mac OS X prend en charge les listes de contrôle d'accès qui offrent un contrôle plus granulaire des autorisations de fichier que les autorisations Unix traditionnelles; IIRC le +dans la liste des autorisations de fichier indique qu'il existe de telles autorisations étendues associées au fichier.

cendre
la source
13

Méthodes alternatives de cotation groupset leurs gid:

Liste triée par nom de groupe:

dscl . list /Groups PrimaryGroupID

Liste triée par groupe gid:

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

Liste des groupes avec des membres:

dscl . list /Groups GroupMembership

Remarque: dscacheutilni dscllister les membres du groupe staffautres que root. Utilisez dsmemberutilpour confirmer qu'un membre appartient au groupe staff.

Exemple d'un utilisateur avec uid 501:

dsmemberutil checkmembership -u 501 -g 20
fd0
la source
1
Wow, une belle compilation de commandes utiles!
Yongwei Wu