我正在尝试修改Linux内核,我需要从task_struct
和pid_namespace
中获取用户ID和进程组ID。虽然我在源代码中搜索了它们的定义,但我找不到任何全局变量或函数(可能因为缺少代码中的注释)来访问它们。
由于我不能使用getuid()
等用户空间函数,是否有一种方法可以在内核空间中获取这些函数?
发布于 2015-10-30 15:03:34
您应该能够使用task_struct->cred->uid
或task_struct->real_cred->uid
。尽管如此,我还没有对此进行测试,这只是粗略地阅读了LXR (include/Linux.h第1508行和include/linux/cred.h .h第127行)。
如果您想要PGID,请尝试pid_vnr(task_pgrp(task_struct))
。此代码来自内核/sys.c第990行。
https://stackoverflow.com/questions/33445815
复制