我们知道,root uid为0.所以我试着将当前进程uid与0进行比较,如下所示:
uid_eq(get_current_cred()->uid, 0)
然而,'uid_eq'的参数2 不兼容类型
我也试过
uid_eq(get_current_cred()->uid, (kuid_t)0)
但这也会导致此错误:转换为请求的非标量类型
我应该如何检查当前进程是否是内核中的root用户?谢谢。
答案 0 :(得分:2)
kuid_t
是一个结构,因此您应该声明一个,并将其val
成员设置为0
。
试试这个
kuid_t rootUid;
rootUid.val = 0;
uid_eq(get_current_cred()->uid, rootUid);