Search code examples
cocoamacosuser-accountsmacfuse

How can I get an account ID from a username on Mac OS X?


I'm using MacFUSE to create a cool filesystem. I'd like to set the NSFileOwnerAccountID and NSFileGroupOwnerAccountID attributes for the files on it, but the underlying framework I use only gives me user names.

How can I get an account ID from an account name under Mac OS X using Cocoa or other built-in frameworks?


Solution

  • These are just UID and GID numbers. Try the getpwnam (for user) and getgrnam (for group) functions; each returns a structure that contains the ID number, among other things.

    Alternatively, just use NSFileOwnerAccountName and NSFileGroupOwnerAccountName instead of the …AccountID versions.