嗨,当我在我的 Linux 系统中以 root 身份登录并尝试使用 getpwuid() 获取文件的所有者名称时,它总是显示 root(lie) 而不是下面的实际所有者名称是我的代码。请帮助我获取实际名称而不是root。
int main(int argc, char *argv[])
{
register struct passwd *access;
register uid_t uid;
int c;
uid = geteuid ();
access= getpwuid (uid);
if (access)
{
puts (access->pw_name);
exit (EXIT_SUCCESS);
}
fprintf (stderr,"%s: cannot find username for UID %u\n",
_PROGRAM_NAME, (unsigned) uid);
exit (EXIT_FAILURE);
}
我总是将用户名作为 root 我如何才能获得所有者的实际名称?