SeLinux问题实例:读写asce失败

问题:Android 6.0安装第三方apk时,选择安装路径为SD卡,安装失败

关键log

Binder_4: type=1400 audit(0.0:84): avc: denied { ioctl } for path="socket:[39582]" dev="sockfs" ino=39582 ioctlcmd=7704 scontext=u:r:system_server:s0 tcontext=u:r:syst     em_server:s0 tclass=unix_stream_socket permissive=0

因为抓取的log里面有很多内容(我保存的log名称为packageinstall6.log)

在linux下,结合工具

$grep "avc" packageinstall6.log > test11.log
$audit2allow -i test11.log
#============= surfaceflinger ==============
allow surfaceflinger self:unix_stream_socket ioctl;

#============= system_server ==============
allow system_server self:unix_stream_socket ioctl;

#============= vold ==============
allow vold vold_tmpfs:file create;

发现surfaceflinger和system_server权限都是有的,只有vold权限没有,并且跟读写文件有关。

打开vold对应的权限策略文件Android 根目录下external/sepolicy/vold.te,把缺少的权限加进去,问题解决




参考文章:http://blog.csdn.net/aihua53/article/details/51198652

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值