查找文件的所有者和组(作为字符串)

时间:2011-10-02 01:47:27

标签: c linux

我正在尝试获取文件所有者和组的C字符串,在我执行stat()之后,我获得了用户ID和组ID,但我如何获得该名称?

2 个答案:

答案 0 :(得分:6)

您可以使用getgrgid()获取群组名称,使用getpwuid()获取用户名:

#include <pwd.h>
#include <grp.h>

/* ... */

struct group *grp;
struct passwd *pwd;

grp = getgrgid(gid);
printf("group: %s\n", grp->gr_name);

pwd = getpwuid(uid);
printf("username: %s\n", pwd->pw_name);

答案 1 :(得分:3)

尝试使用getpwuid();

http://linux.die.net/man/3/getpwuid