
第14章 安全与命名空间:用户态边界的形成内核版本:Linux 7.1.3架构:x86_64核心源码路径:security/security.csecurity/commoncap.csecurity/lsm_init.ckernel/user_namespace.ckernel/nsproxy.ckernel/audit.c用户态不是“自然可信”的。PID 1 进入用户态之后,进程能看到哪些对象、能对对象做什么、权限判断在哪里发生,取决于三组机制:凭据cred描述“我是谁”,命名空间描述“我看见哪个世界”,LSM 描述“即使传统权限允许,安全策略是否仍然允许”。本章讲这些边界在启动阶段如何成形。14.1 启动阶段的安全边界安全子系统不是等到用户登录后才启用。start_kernel()很早就会调用early_security_init()和security_init(),因为 VFS、进程、IPC、网络、BPF、模块加载等对象创建时都可能需要分配 LSM blob 或执行 hook。可以把本章对象关系理解为: