Linuxカーネルコードをブラウズしているうちに、kernel/capability.c
に次の2つの機能が見つかりました。Linuxのinit_user名前空間とは何ですか?
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を持つプロセスの機能を取得する方法についてのみ説明します。これは私にとってもっと自然に見えます。
あなたの "init_user"名前空間の定義は正しいですが、答えは完全に質問に答えません。 –