【发布时间】:2016-09-21 12:35:35
【问题描述】:
在浏览Linux内核代码时,我在kernel/capability.c中发现了以下两个函数。
1)
bool has_capability(struct task_struct *t, int cap)
/*Does a task have a capability in init_user_ns.*/
2)
bool has_ns_capability(struct task_struct *t, struct user_namespace *ns, int cap)
/*Does a task have a capability in a specific user ns.*/
第一个函数中提到的init_user命名空间是什么?
据我所知,一个流程要么有能力(让我们暂时不用担心流程的不同能力集),要么没有,那么如何才能说一个流程有能力到命名空间?
如果您查看cap_get_target_pid() 的定义,在同一个文件中,它只讨论使用给定 pid 获取进程的功能,而无需担心用户命名空间。这对我来说看起来更自然。
【问题讨论】:
标签: linux linux-kernel linux-containers linux-capabilities