添加selinux权限

一、根据报错添加selinux权限

一般在logcat中报以下错误

avc: denied { read write } for comm="AdaptorThread" name="video31" dev="tmpfs" ino=18586 scontext=u:r:system_app:s0 tcontext=u:object_r:video_device:s0 tclass=chr_file permissive=0

分析:

缺少的权限:{ read write }

谁缺少的权限:system_app

对哪个类型缺少的权限:video_device

什么格式的文件:chr_file

1.找到system_app.te文件

2.添加:

allow system_app video_device:chr_file { read write };

二、如果编译报错

到system/sepolicy/public目录下,找到video_device,发现不允许video_devices类型的chr_file有read write的权限

neverallow appdomain{

    video_devices

}:chr_file { read write };

 方法:1.将文件绑定其他现有的类型        2.定义其他类型,与文件绑定,再给予权限

2.1将文件绑定其他现有的类型 

1.找到对应的文件

根据以下的报错,在日志中搜索video31

avc: denied { read write } for comm="AdaptorThread" name="video31" dev="tmpfs" ino=18586 scontext=u:r:system_app:s0 tcontext=u:object_r:video_device:s0 tclass=chr_file permissive=0

找到相应的文件是/dev/video31

2.找到相近的文件,参考绑定类型

在sepolicy/file_contexts文件中找到/dev/video31,查看其他相近的文件绑定的类型,参考修改/dev/video31的绑定类型。

/dev/video31        u:object_r:绑定的类型:s0

注意:

        1./dev/video31不能随意绑定类型

        2.绑定的类型要满足在system_app.te至少有allow system_app 绑定的类型:chr_file { read write };

        3.留意绑定的类型可能导致没有之前的权限,可能会出现其他功能不正常。(举个例子,/dev/video31之前绑定了A类型在xx.te文件有Q权限,绑定之后的B类型可能在xx.te文件没有Q权限,可能导致其他功能不正常)     

3.测试  

setenforce 1        //打开selinux
chcon u:object_r:绑定类型:s0 /dev/video31    //设置/dev/video31的绑定类型
ls -Z /dev/video31    //查看/dev/video31的绑定类型

测试功能是否正常 

2.2定义其他类型,与文件绑定,再给予权限

1.定义其他类型

在 sepolicy目录下知道定义video_device类型的文件,定义一个其他类型(type开头是定义类型)

2.与文件绑定

在 sepolicy/file_contexts文件中找到/dev/video31,修改为定义的类型

3.给予权限

1.加上报的权限问题,在 system_app.te添加

allow system_app 定义的类型:chr_file { read write };

2.在加上之前video_devices类型拥有的权限

建议用grep -nr video_devices,可以快速找到其拥有的权限

4.编译测试

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值