Android Capability 细粒度的权限控制

时间:2023-03-09 19:18:23
Android Capability 细粒度的权限控制

1. 传统的UID/GID,权限颗粒度太大

2. Capability: 细粒度的权限控制

3. 进程的Capability

4. 文件的Capability

5. 进程的Capability BoundSet

6. Spawn进程的Capability

7. Capability和UID的兼容

http://www.jikexueyuan.com/course/25_7.html?ss=1

-----------------------------------------

1. 传统的UID/GID,权限颗粒度太大

权限颗粒太粗

容易引起权利过剩(溢出),给了的权限太多

权利溢出/过剩引起的安全问题:具有了太多的权限

解决: 我们需要细粒度的权限: 除了皇帝,也需要不同的地方官

Linux引入了Capabilit: 每个Capability系统内以一位Bit代表,

当前定义了30多个Capability , 但是OS为了以后的扩展,内部使用64bit存储

2. Capability: 细粒度的权限控制

Android的Capability 文件: android_filesystem_capability.h

define CAP_CHOWN 0, 代表64位bit中的第0位

Android Capability 细粒度的权限控制

3. 进程的Capability

4. 文件的Capability

5. 进程的Capability BoundSet

6. Spawn进程的Capability

7. Capability和UID的兼容