2010-11-16 21 views
0

J'utilise MacFUSE pour créer un système de fichiers sympa. Je voudrais définir les attributs NSFileOwnerAccountID et NSFileGroupOwnerAccountID pour les fichiers dessus, mais le cadre sous-jacent que j'utilise ne me donne que des noms d'utilisateur.Comment puis-je obtenir un identifiant de compte à partir d'un nom d'utilisateur sur Mac OS X?

Comment puis-je obtenir un identifiant de compte à partir d'un nom de compte sous Mac OS X en utilisant Cocoa ou d'autres frameworks intégrés?

Répondre

0

Ce ne sont que des numéros UID et le GID. Essayez les fonctions getpwnam (pour l'utilisateur) et getgrnam (pour le groupe); chacun renvoie une structure qui contient le numéro d'identification, entre autres choses. Il est également possible d'utiliser NSFileOwnerAccountName et NSFileGroupOwnerAccountName au lieu des versions …AccountID.

+0

MacFuse _absolument veut_ les versions 'AccountID'. – zneak

+0

@zneak: Dang. Eh bien, ces deux fonctions devraient fonctionner pour les obtenir. –

0

Ce que vous pouvez faire est obtenir une liste de tous les CSIdentity objects et construire un "nom d'utilisateur à l'identité" carte. Une fois que vous avez l'objet d'identité, vous pouvez en obtenir un tas d'autres informations.

Plus d'infos:

+0

Je vais y jeter un coup d'oeil. – zneak

+0

Le cadre de collaboration (lié à partir du Guide de programmation des services d'identité) sera probablement plus facile à utiliser. – zneak