Android SELinux配置

1.权限警告

最近在调试Android的selinux配置,主要出现了一下三种权限警告,在此记录一下

avc: denied { create } for pid=2984 comm=“test_app” path="/dev/socket" scontext=u:r:test_app:s0 tcontext=u:r:test_app:s0 tclass=netlink_route_socket permissive=1


avc: denied { ioctl } for pid=2984 comm=“test_app” path="/dev/socket" dev=“tmpfs” ino=317 ioctlcmd=8916 scontext=u:r:test_app:s0 tcontext=u:r:test_app:s0 tclass=udp_socket permissive=1


avc: denied { read } for pid=2984 comm=“test_app” path="/dev/socket" name=“my_dir” dev=“mmcblk0p11” ino=24 scontext=u:r:test_app:s0 tcontext=u:r:device:s0 tclass=chr_file permissive=1

2.权限警告语法

avc: denied { 操作权限 } for pid=7201 comm=“进程名” scontext=u:r:源类型:s0 tcontext=u:r:目标类型:s0 tclass=访问类别 permissive=0


1.操作权限,即需要执行的权限
2.源类型,即相应的te文件中的类型
3.目标类型,即相应的te文件的类型
4.访问类别,即目标类型的相关类别

3.权限配置语法

allow 源类型 目标类型:访问类别 {权限};

4.配置普通权限

avc: denied { create } for pid=2984 comm=“test_app” path="/dev/socket" scontext=u:r:test_app:s0 tcontext=u:r:test_app:s0 tclass=netlink_route_socket permissive=1


在源码中,我们自定义的sepolicy文件夹,打开test_app.te文件
在其中添加:allow test_app test_app:netlink_route_socket { create }

5.配置ioctl特殊权限

avc: denied { ioctl } for pid=2984 comm=“test_app” path="/dev/socket" dev=“tmpfs” ino=317 ioctlcmd=8916 scontext=u:r:test_app:s0 tcontext=u:r:test_app:s0 tclass=udp_socket permissive=1


在源码中,我们自定义的sepolicy文件夹,打开test_app.te文件
如果在其中添加:allow test_app test_app:udp_socket { ioctl },则编译会提示”never allow”错误
需要修改为
net_domain(test_app)allowxperm test_app test_app:udp_socket ioctl { SIOCSIFADDR };
其中
SIOCSIFADDR**是在system/sepolicy/public/ioctl_defines配置文件中与值ioctlcmd=8916相对应: define(`SIOCSIFADDR’, `0x00008916’)

6.配置新增节点权限

avc: denied { read } for pid=2984 comm=“test_app” path="/dev/socket" name=“my_dir” dev=“mmcblk0p11” ino=24 scontext=u:r:test_app:s0 tcontext=u:r:device:s0 tclass=chr_file permissive=1


在源码中,我们自定义的sepolicy文件夹,打开test_app.te文件
如果在其中添加:”type my_dir_device, dev_type;”,声明my_dir_device为设备类型
打开file_contexts文件文件
如果在其中添加:” /dev/my_dir u:object_r:my_dir_device:s0”,声明my_dir_device为/dev/my_dir对应的节点
打开test_app.te文件文件
如果在其中添加?**allow test_app my_dir_device:chr_file { read }***;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值