gpt4 book ai didi

c - 编写Linux内核模块时如何获取userID

转载 作者:太空狗 更新时间:2023-10-29 14:50:42 24 4
gpt4 key购买 nike

这是我在内核模块中的函数,我在稍后阶段使用 insmod 命令插入到 make 之后。我正在研究 goldfish (2.6.29)

asmlinkage long our_sys_read(unsigned int fd, char  *buf, size_t count)
{
printk("------->> our_sys_read getuid() ---------- %d\n", getuid());

return original_call_read(fd,buf,count);
}

我想捕获系统调用并找出是哪个用户发出了这些系统调用。但是当我运行“make”时,它会抛出以下错误。

/home/mohsin/LKM/trapcall.c:245: error: implicit declaration of function 'getuid'

如有任何建议,我们将不胜感激。

最佳答案

你也许可以使用这个:

 #include <include/linux/cred.h>

static int getuid()
{
return current_uid();
}

cred 代表“凭据”,此宏返回当前事件凭据的用户 ID。但是请记住,“当前用户 ID”在 Linux 中可能有多种含义。

[dan3 显然不需要像我一样挖掘那么多代码来找到这个 - 或者他比我先开始!]

关于c - 编写Linux内核模块时如何获取userID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14097389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com