Известно, что все пользователи являются членами группы сотрудников. Если вы настраиваете стандартного пользователя и создаете какой-либо файл, список этого файла в терминале с помощью 'ls -la' показывает, что группа пользователей является 'staff'.
Используя команду dscacheutil, мы можем увидеть информацию о группах. Например: -
dscacheutil -q group -a name admin
Это возвращает информацию о группе администраторов, включая всех участников.
Однако, когда я смотрел на группу сотрудников, я ожидал, что стандартные пользователи будут членами группы, но это не так:
dscacheutil -q group -a name staff
name: staff
password: *
gid: 20
users: root
Итак, если все стандартные пользователи являются членами группы персонала, почему они не появляются здесь?
Есть ли другая команда, которая может показать реальных членов группы персонала?
macos
command-line
permission
user-account
group
Темный рыцарь
источник
источник
Ответы:
Есть только один надежный способ получить всех членов группы в OS X, и ответ от 2DD8847 покрывает это. Что касается «почему», я не могу предложить логическое объяснение. Все, что я могу вам сказать, это то, что отличает результаты.
Эти подходы не включают пользователей, которые являются только членами группы через PrimaryGroupID. Можно подумать, что эти пользователи, которых нет в списке, не были официально добавлены в группу сотрудников. Им только что дали PrimaryGroupID, который соответствует gid персонала. Поэтому они официально не перечислены с некоторыми командами. Я знаю, это абсурд.
НЕПОЛНЫЕ РЕЗУЛЬТАТЫ:
ПОЛНЫЕ РЕЗУЛЬТАТЫ:
Все, что я могу вам сказать, это то, что без поиска членов группы по их PrimaryGroupID (вместо перечисления членов группы) это не даст вам полных результатов. Мел до странностей Unix. Здесь очень много.
Надеюсь, это поможет!
Источник
источник
Chalk it up to the oddities of OS X. There are many.
Что именно вы хотите достичь / сделать?
Эта команда выводит список всех пользователей в группе персонала:
Источник
Объяснение: Группа персонала имеет PrimaryGroupID, равный 20.
источник