Получить пользователей и группы с Mac

1

Как я могу получить пользователей и группы, перечисленные в разделе «Системные настройки», с Mac через терминал?

я пробовал

dscl . list /users
dscl . list /groups

Но они также дают мне список системных пользователей. Мне просто нужны пользователи и группы, которые я хотел бы увидеть, если бы зашел в Системные настройки и просмотрел их. Любая помощь приветствуется. Заранее спасибо.

Джон
источник

Ответы:

3

Это немного сложнее, чем это, но по большей части панель настроек «Пользователи и группы» работает только с пользователями и группами с идентификаторами выше 500. Вы можете эмулировать это, отфильтровывая списки, которые генерирует dscl. Вот быстрая и грязная версия, использующая awk для фильтрации:

dscl . -readall /Users UniqueID | awk '/^RecordName:/ {name=$2}; /^UniqueID: / {if ($2 > 500) print name}'
dscl . -readall /Groups PrimaryGroupID | awk '/^PrimaryGroupID:/ {id=$2}; /^RecordName: / {if (id > 500) print $2}'
Гордон Дэвиссон
источник
Первый работал, вторая строка вообще ничего не возвращала, даже администратор или обычный пользователь, как указано в Системных настройках.
Джон
Второй ищет группы, а не пользователей; если вы не создали ни одной группы (кроме встроенных системных), она ничего не отобразит.
Гордон Дэвиссон
Спасибо за помощь. Есть ли какая-то конкретная документация, связанная с этим. Вы упомянули быструю и грязную версию. Есть ли лучшая, возможно, более короткая и краткая версия?
Джон
Я не знаю ни одной документации, и я не уверен, какие дополнительные сложности (то есть другие критерии, кроме идентификационного номера) могут быть, что это не обрабатывает. Более полная версия не будет короче, вероятно, будет немного длиннее.
Гордон Дэвиссон
Что будет делать более полная версия? Спасибо всем за информацию.
Джон