我正在尝试查看进程如何获得自己的保存集 uid。我能得到的唯一方法suid是 with getresuid(),但这不是我猜的最佳解决方案。
我怎样才能以“更具工程性的方式”获得它?
这是我的代码:
#define _GNU_SOURCE
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>
int main(void) {
uid_t *ruid = malloc(sizeof (uid_t));
uid_t *euid = malloc(sizeof (uid_t));
uid_t *suid = malloc(sizeof (uid_t));
getresuid(ruid, euid, suid);
printf("%d, %d, %d\n", *ruid, *euid, *suid);
}