Darf ich eine Liste der Gruppennamen „System“ und der entsprechenden Gids haben?

14

Ich weiß, dass es Gruppennamen wie "Staff" und "Admin" gibt, aber sind das die einzigen? Ich vermute, dass der Root-Benutzer auch in einer Gruppe zugeordnet werden sollte. Wenn dscacheutil -q userich den Befehl verwende , erfahre ich, dass root - 0 gid ist. Und wenn ein Benutzerkonto ein Administrator ist, gehört es dann nicht sowohl zur Gruppe "Administrator" als auch zur Gruppe "Mitarbeiter"?

Durch Ausführen des Befehls ls -la /Userserhalte ich die folgende Ausgabe:

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
Backstein
quelle

Antworten:

21

Der Befehl dscacheutil -q groupgibt alle Gruppen mit Namen, ID-Nummern und Mitgliederliste aus. Seien Sie gewarnt, wenn ich sage, dass es alle Gruppen ausgeben wird, meine ich alle Gruppen, einschließlich des eingebauten Systems, das die Sterblichen niemals sehen sollten. Ich sage nur, flipp nicht aus, es gibt so viele Gruppen für ein Einbenutzersystem.

rootals der Superuser ist in einer Gruppe für sich und implizit auch ein Mitglied jeder anderen Gruppe. Jedes Benutzerkonto kann Mitglied mehrerer Gruppen sein. Auf meinem System das einzige Mitglied staffheißt root; Admins sind alle in der adminGruppe. wheelist ein weiterer Gruppenname, der häufig für einige Systemdateien angezeigt wird. Auf Linux-Systemen ist es ein beliebter Gruppenname, Dateien zuzuweisen, damit Administratoren sie bearbeiten können, ohne ihr Kennwort in zu verwenden sudo.

Es sollte auch beachtet werden, dass Mac OS X Zugriffssteuerungslisten unterstützt, die eine genauere Kontrolle über Dateiberechtigungen bieten als herkömmliche Unix-Berechtigungen. IIRC +in der Liste der Dateiberechtigungen gibt an, dass der Datei solche erweiterten Berechtigungen zugeordnet sind.

Asche
quelle
13

Alternative Methoden für die Auflistung groupsund deren gid:

Liste sortiert nach Gruppenname:

dscl . list /Groups PrimaryGroupID

Liste sortiert nach Gruppen-GID:

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

Gruppen mit Mitgliedern auflisten:

dscl . list /Groups GroupMembership

Hinweis: Weder Mitglieder der Gruppe auflisten dscacheutilnoch andere als . Bestätigen Sie mit, dass ein Mitglied der Gruppe angehört .dsclstaffrootdsmemberutilstaff

Beispiel eines Benutzers mit UID 501:

dsmemberutil checkmembership -u 501 -g 20
fd0
quelle
1
Wow, eine schöne Sammlung nützlicher Befehle!
Yongwei Wu