Как я могу получить идентификатор учетной записи от имени пользователя в Mac OS X?

Я использую MacFUSE для создания классной файловой системы. Я хотел бы установить NSFileOwnerAccountID а также NSFileGroupOwnerAccountID атрибуты для файлов на нем, но базовая структура, которую я использую, дает только имена пользователей.

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

2 ответа

Решение

Это просто номера UID и GID. Попробуйте getpwnam (для пользователя) и getgrnam (для группы) функции; каждый возвращает структуру, которая содержит идентификационный номер, среди прочего.

В качестве альтернативы просто используйте NSFileOwnerAccountName а также NSFileGroupOwnerAccountName вместо …AccountID версии.

Что вы можете сделать, это получить список всех CSIdentity объекты и построить карту "имя пользователя к личности". Если у вас есть объект идентификации, вы можете получить из него кучу другой информации.

Больше информации:

Другие вопросы по тегам