Selinux 权限解决记录

本文详细描述了解决Linux中SELinux权限问题的过程,涉及sysfs目录权限、wakelock权限调整以及针对特定属性如vendor_default_prop和sysfs_devices_block的权限设置,包括使用dac_override、修改scontext和tcontext以及genfs_contexts的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在日常工作中曾经遇到过添加各种各种读取属性,文件节点无权限。setenforce 0 之后,操作正常的,就可以确认为selinux权限问题了,下面记录曾经遇到过的权限问题

1. 最简单的一类就是按照万能公式缺什么,加什么权限。加完权限,编译也没报错,替换后也解决问题的

type=1400 audit(1698809417.118:102): avc: denied { read write } for comm="HwBinder:245_1" name="wake_lock" dev="sysfs" ino=4980 scontext=u:r:tvhalserver:s0 tcontext=u:object_r:sysfs_wake_lock:s0 tclass=file permissive=1
type=1400 audit(1698809417.118:103): avc: denied { open } for comm="HwBinder:245_1" path="/sys/power/wake_lock" dev="sysfs" ino=4980 scontext=u:r:tvhalserver:s0 tcontext=u:object_r:sysfs_wake_lock:s0 tclass=file permissive=1
 

语法:rule_name source_type target_type : class perm_set**
万能公式:
缺少什么权限:{ read write open}权限
谁缺少权限:scontext=u:r:tvhalserver:s0
对谁缺少权限:tcontext=u:object_r:sysfs_wake_lock:s0
什么类型:tclass=file

+++ b/sepolicy/tvhalserver.te
@@ -183,4 +183,9 @@ allow tvhalserver hal_tv_earc_default:binder  { call };
 allow tvhalserver hal_tv_earc_default:file { getattr };
 allow tvhalserver userdata_file:dir { search read open getattr remove_name };
 allow tvhalserver userdata_file:file { write ioctl lock };
+allow tvhalserver sysfs_wake_lock:file { open read write };

2.1 dac_override 添加权限后,编译出现never allow 的。比如下面这个

type=1400 audit(1698809417.118:101): avc: denied { dac_override } for comm="HwBinder:245_1" capability=1 scontext=u:r:tvhalserver:s0 tcontext=u:r:tvhalserver:s0 tclass=capability permissive=1

+++ b/sepolicy/tvhalserver.te
@@ -190,4 +190,6 @@ allow tvhalserver powerctl_prop:property_service { set };
 allow tvhalserver hal_power_default:dir { search };
+allow tvhalserver tvhalserver:capability { dac_override };

编译的时候会出现nerverallow 报错:

libsepol.report_failure: neverallow on line 342 of system/sepolicy/private/domain.te (or line 40681 of policy.conf) violated by allow tvhal

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值