更好地确定所保存的ID

问题描述 投票:0回答:1

我正在尝试查看进程如何获取自己的save-set-uid。我唯一可以获取suid的方法是使用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);
}
c linux process id
1个回答
0
投票

这实际上是这样做的方法。您的方法过于复杂。看看这个:

uid_t ruid, euid, suid;
getresuid(&ruid, &euid, &suid);
printf("%d, %d, %d\n", ruid, euid, suid);
© www.soinside.com 2019 - 2024. All rights reserved.