3

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

4

2 回答 2

6

您可以使用current_cred()as defined in include/linux/cred.h,这将为您提供指向struct cred在同一标头中定义的自身的指针。就像是

  if (current_cred()->uid != 0)
     return -EPERM;
于 2013-04-02T21:24:05.960 回答
0

如前所述current_cred()->uid,现在返回一个struct kuid_t. 要获得您需要的值current_cred()->uid.val和最终类型转换以消除警告。

if ((int)current_cred()->uid.val != 0)
     return -EPERM;
于 2021-12-01T02:58:16.810 回答