Linux kernel 在linux内核中检查user=root?

Linux kernel 在linux内核中检查user=root?,linux-kernel,file-permissions,user-permissions,Linux Kernel,File Permissions,User Permissions,我正在编写linux内核代码。我在VFS中,我想修改它。我想添加一个检查,以查看用户是否是root用户,并基于此做出决定。我该怎么做?是否有getuid()的内核版本?或者像“current->”这样的结构是否包含当前进程的哪个用户的信息?您可以使用include/linux/cred.h中定义的current\u cred(),这将为您提供指向同一标题中定义的结构cred本身的指针。差不多 if (current_cred()->uid != 0) return -EPER

我正在编写linux内核代码。我在VFS中,我想修改它。我想添加一个检查,以查看用户是否是root用户,并基于此做出决定。我该怎么做?是否有getuid()的内核版本?或者像“current->”这样的结构是否包含当前进程的哪个用户的信息?

您可以使用
include/linux/cred.h
中定义的
current\u cred()
,这将为您提供指向同一标题中定义的
结构cred
本身的指针。差不多

  if (current_cred()->uid != 0)
     return -EPERM;

这将抛出一个类型错误。也许它在'13年没有,但是现在
current\u cred()->uid
返回一个
kuid\u t
(不是整数)。