Могу ли я получить список имен групп «Система» и соответствующие им гиды?

15

Я знаю, что есть названия групп, такие как «Персонал» и «Администратор», но только ли они? Я подозреваю, что пользователь root также должен быть назначен в группе. Использование команды dscacheutil -q userговорит мне об уровне root - 0. А если учетная запись пользователя является администратором, то не входит ли она в группы «Администратор» и «Сотрудники»?

Запустив команду ls -la /Users, я получаю следующий вывод:

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
Кирпич
источник

Ответы:

22

Команда dscacheutil -q groupвыведет все группы с их именами, идентификационными номерами и списком участников. Будьте осторожны, когда я говорю, что он выведет все группы, я имею в виду все группы, включая встроенную систему, которые смертные никогда не должны были видеть. Я просто говорю, не волнуйтесь, существует так много групп для однопользовательской системы.

rootпоскольку суперпользователь находится в группе сам по себе, а также неявно является членом любой другой группы. Любая учетная запись пользователя может быть членом нескольких групп. В моей системе единственным членом staffявляется root; админы все в adminгруппе. wheelдругое имя группы, которое вы часто видите для некоторых системных файлов; это популярное имя группы в системах Linux для назначения файлам, чтобы администраторы могли редактировать их, не используя свой пароль sudo.

Следует также отметить, что Mac OS X поддерживает списки контроля доступа, которые обеспечивают более детальный контроль над разрешениями файлов, чем традиционные разрешения Unix; IIRC +в списке разрешений файла указывает, что существуют такие расширенные разрешения, связанные с файлом.

ясень
источник
13

Альтернативные методы листинга groupsи их gid:

Список отсортирован по названию группы:

dscl . list /Groups PrimaryGroupID

Список отсортирован по группам gid:

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

Список групп с участниками:

dscl . list /Groups GroupMembership

Примечание: ни, dscacheutilни dsclсписок членов группы, staffкроме root. Используйте, dsmemberutilчтобы подтвердить, что участник принадлежит к группе staff.

Пример пользователя с uid 501:

dsmemberutil checkmembership -u 501 -g 20
fd0
источник
1
Ух, хорошая подборка полезных команд!
Yongwei Wu