Capability-based Security for Redox: Namespace and CWD as capabilities
核心理念:Redox OS 将 namespace 和 CWD 抽象为 capability,namespace manager 从内核移至用户空间,用 openat 实现沙箱。
关键要点
- Scheme-rooted Path: 所有资源通过 /scheme/{scheme-name}/{resource-name} 访问,如 /scheme/file/home/user/file.txt
- Namespace 用户空间化: 原来内核管理的 namespace 现在由用户空间的 nsmgr daemon 管理,通过 openat 的 dir_fd 实现访问控制
- CWD as Capability: CWD 不再是字符串路径,而是文件描述符,支持 O_RESOLVE_BENEATH 防止 ../ 逃逸沙箱
- 内核简化: 内核不再需要解析路径或知道 scheme 名称,只负责分发系统调用