Android Capability 细粒度的权限控制

时间:2022-11-29 18:59:34

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的兼容