某三方应用,使用了USB摄像头,启动应用后功能不能使用,看log有如下错误,
denied后面{}里的是要执行的动作,比如append,open,execmod,link等等
scontext指的是域,对应的是te文件 上面报错这条对应te文件是untrusted_app.te, scontext全写是source_type context;
tcontext指的是目标类型,上面报错这条对应的是目标类型system_file,tcontext全写是target_type context;
tclass指的是类别,上面报错这条对应的是类别是file,
avc denied的错误,提示某个路径不能访问,一般添加allow 语句解决,
allow 源类型 目标类型:访问类别 {权限};
其中allow语句的源类型 在avc denied里面找到, 目标类型 可以用ls -Z来查询,访问类别 {权限} 在avc denied里面找到;
然后找到对应的te文件添加响应语句,
device\rockchip\common\sepolicy\vendor\untrusted_app.te
allow untrusted_app usb_device:dir { open read };
关于selinux 相关的知识,已有很多相关blog,请自行百度。