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位
3. 进程的Capability
4. 文件的Capability
5. 进程的Capability BoundSet
6. Spawn进程的Capability
7. Capability和UID的兼容