SELinux: root 进程需要申请capability permissions吗?

在Android系统中,即使是拥有所有权限的root进程,依然需要在sepolicy中定义allow capability规则来申请capability权限,如dac_override。这是因为SELinux的存在使得进程权限管理更加精细化。举例来说,root进程pMonitor尝试访问/sys/power/state时,由于系统安全策略,即使pMonitor拥有root权限,仍会被拒绝 dac_override 能力,除非将其uid和gid“去特权化”或者修改安全策略。通过这样的设计,SELinux能够更严格地控制系统的安全访问。
摘要由CSDN通过智能技术生成

结论

先结论:Android中的root进程,在使用到capability时,也需要在sepolicy中定义 allow capability规则,以申请capability permissions。

备注:如果不引入SELinux,例如在Ubuntu环境下,capability的主要作用不是对root进程本身直接施加限制,而是:通过授予最小的capability,使需要特权操作的程序,可以在非root状态下完成工作。

背景

在分析AndroidL的sepolicy规则时,我们发现,即使有效集和许可集满装的root进程,也仍需要在规则定义 allow capability权限。

以capability:dac_overrride为例,具有dac_override权限的系统服务主要包括:

ueventd.te(7):allow ueventd self:capability { chown mknod net_admin setgid fsetid sys_rawio dac_override fowner };
zygote.te(7):allow zygote self:capability { dac_override setgid setuid fowner c
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值