如何从 Mac OS X 上的用户名获取帐户 ID?
我正在使用 MacFUSE 创建一个很酷的文件系统。我想为其上的文件设置 NSFileOwnerAccountID
和 NSFileGroupOwnerAccountID
属性,但我使用的底层框架只提供用户名。
如何使用 Cocoa 或其他内置框架在 Mac OS X 下从帐户名获取帐户 ID?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这些只是 UID 和 GID 号码。尝试使用
getpwnam
(对于用户)和getgrnam
(对于组)函数;每个都返回一个包含 ID 号等内容的结构。或者,只需使用
NSFileOwnerAccountName
和NSFileGroupOwnerAccountName
而不是...AccountID
版本。These are just UID and GID numbers. Try the
getpwnam
(for user) andgetgrnam
(for group) functions; each returns a structure that contains the ID number, among other things.Alternatively, just use
NSFileOwnerAccountName
andNSFileGroupOwnerAccountName
instead of the…AccountID
versions.您可以做的是获取所有
CSIdentity
对象并构建“用户名到身份”映射。一旦获得了身份对象,您就可以从中获取大量其他信息。更多信息:
What you could do is get a list of all the
CSIdentity
objects and build a "username to identity" map. Once you have the identity object, you can get a bunch of other information from it.More info: