Изучив /etc/passwd
файл, я должен получить список всех пользователей в системе. Тем не менее, при выгрузке passwd
файла в Mac OS X я не вижу мое текущее имя пользователя, но многие записи, подобные этим:
_xgridagent: *: 86: 86: Агент Xgrid: / var / xgrid / agent: / usr / bin / false _appowner: *: 87: 87: Владелец приложения: / var / empty: / usr / bin / false _windowserver: *: 88: 88: WindowServer: / вар / опорожнить: / USR / бен / ложь _spotlight: *: 89: 89: Прожектор: / вар / опорожнить: / USR / бен / ложь _tokend: *: 91: 91: Демон Token: / var / empty: / usr / bin / false
Почему я могу войти в оболочку под своим именем пользователя и увидеть это имя who
?
dsconfigad
.Существует набор служб каталогов, которые хранят информацию. Существует ряд инструментов командной строки (
dscl
для одного), чтобы управлять ими (жестко), или вы можете использовать Системные настройки для обработки некоторых из них.источник
OS X не использует файлы UNIX / LINUX / etc / passwd. Вместо этого он хранит его в NetInfo. Командой, используемой для взаимодействия с NetInfo, является служебная программа команды службы каталогов, или dscl.
Я не знаком с командами, но уверен, что простое
man dscl
никому не повредит.источник
Mac OS X использует Open Directory .
источник
Я понимаю, что это не является прямым ответом на вопрос, но я чувствую, что многие, кто сталкивается с этим вопросом, просто захотят узнать, как выполнить простой запрос, чтобы найти информацию о пользователе из командной строки. Для других на этом пути, просто нуждающихся в том, чтобы увидеть конфигурацию, подобную стандартным командам Unix, я нашел эту простую команду полезной.
Вы также можете сделать:
Чтобы увидеть все, но быть предупрежденным, на экран будет выведена шестнадцатеричная версия фотографии пользователя. Если вам нужны другие компоненты, полезно посмотреть, что там, если вы можете избежать элемента JPEGPhoto.
источник