从root模式获取当前用户?

时间:2011-09-28 12:41:06

标签: objective-c macos macos-carbon bsd

我正在编写一个登录项目,我正在尝试查找是否可以获得当前用户。

可以说,我已经使用用户“Test”登录,当我使用root权限执行exe时,如果我使用

char *user  = getenv("USER");

用户是“root”。

我的预期答案是“测试”。

我怎样才能得到它?

我不知道我是否可以在登录项中添加客观的c代码?是否可以在登录项中使用NSUserName。

NSString *user = NSUserName();

2 个答案:

答案 0 :(得分:8)

你想要the SCDynamicStoreCopyConsoleUser function

QA1133提供了一些相关的细节和警告。

答案 1 :(得分:0)

登录项可以是Cocoa应用程序,因此您可以使用NSUserName()(在btw基础上)。

也许还要看g etuid() / geteuid()