3

我正在尝试修改 Linux 内核,我需要从 atask_struct和 a获取用户 ID 和进程组 ID pid_namespace。尽管我在源代码中搜索了它们的定义,但我找不到任何全局变量或函数(可能因为代码中缺少注释而丢失)来访问它们。

由于我不能使用用户空间函数等getuid(),有没有一种方法可以将它们放入内核空间?

4

1 回答 1

7

您应该能够使用task_struct->cred->uidor task_struct->real_cred->uid。话虽如此,我还没有对此进行测试,这只是粗略阅读 LXR(include/linux/sched.h 第 1508 行和 include/linux/cred.h 第 127 行)。

如果您想要 PGID,请尝试pid_vnr(task_pgrp(task_struct)). 此代码来自 kernel/sys.c 第 990 行。

于 2015-10-30T23:03:34.210 回答