linux-kernel – 如何在Linux Kernel 4.2中获取当前进程的UID和E
发布时间:2020-12-14 00:32:17 所属栏目:Linux 来源:网络整理
导读:正如LDD3第6章p175所示,我们可以通过current- uid和current- euid来获取当前进程UID和EUID. 但是 Linux Kernel 4.2的struct task_struct的定义不再包含uid或euid命名的字段. 所以,我想知道是否有其他方法可以获得UID和EUID? 谢谢! 解决方法 .uid和.euid字
正如LDD3第6章p175所示,我们可以通过current-> uid和current-> euid来获取当前进程UID和EUID.
但是 Linux Kernel 4.2的struct task_struct的定义不再包含uid或euid命名的字段. 所以,我想知道是否有其他方法可以获得UID和EUID? 谢谢! 解决方法
.uid和.euid字段被移动到struct cred,现在在struct task_struct中公开为.cred字段.它是在这个提交中完成的:
CRED: Separate task security context from task_struct.如果你查看diff for include / linux / sched.h文件,你可以注意到这个变化:
- uid_t uid,euid,suid,fsuid; - gid_t gid,egid,sgid,fsgid; + struct cred *cred; /* actual/objective task credentials */ 所以现在而不是: current->uid; current->euid; 你应该使用: const struct cred *cred = current_cred(); cred->uid; cred->euid; 请注意,current_cred()函数应该用于访问.cred字段,因为它是RCU指针. 例如,还可以查看check_same_owner()实现. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux硬链接和软链接的区别
- linux – 我可以更改NFS导出的名称
- 在Linux中使用C代码的Curly Brace用途(include / linux / l
- linux – 如何在所有文件和所有目录中递归地找到一个单词
- linux – tmux:以编程方式水平拆分窗口并运行两个命令?
- linux – 使用intel igb(已解决)在3/5 raid6 iSCSI NAS设备
- linux-kernel – 编译Linux内核错误xt_CONNMARK.h
- 五分钟搞定 Linux 文档全部知识,就看这篇文章
- goto的gotoxy函数(linux / unix)
- 如何为我的.zshrc文件指定自定义路径?