selinux [转发]

一,SElinux是什么,如何分析此类问题
定义:SELinux(Security-Enhanced Linux)是由美国国家安全局(NSA)开发的一种强制访问控制机制。它主要整合在 Linux 内核当中,是针对特定的进程与指定的文件资源进行权限控制的系统。主要是增强传统 Linux 操作系统的安全性,并解决传统 Linux 系统中自主访问控制(DAC)系统中的各种权限问题(如 root 权限过高等)。
分析此类问题:selinux三种状态 强制模式 宽容模式 关闭模式
Enforcing:强制模式。代表SELinux在运行中,且已经开始限制domain/type之间的验证关系
Permissive:宽容模式。代表SELinux在运行中,不过不会限制domain/type之间的验证关系,即使验证不正确,进程仍可以对文件进行操作。不过如果验证不正 确会发出警告。
Disabled:关闭模式。SELinux并没有实际运行
基本命令: setenforce 1/0 1 开启强制模式 setenforce 0 宽容模式 getenforce 获取当前selinux状态
如出现应用层等访问设备节点时出现无法打开时,使用指令setenforce 0 时,能够正常使用。可能出现此问题。

或者logcat 获取log时出现 : type=1400 audit(0.0:59): avc: denied { write } for name=“xxxx” dev=“proc” ino=4026532642 scontext=u:r:vendor_init:s0 tcontext=u:object_r:sysfs_proc:s0 tclass=file permissive=0 时,则为selinux权限问题。

二,添加selinux权限–基于高通平台演示
1,基于proc下出现selinux权限问题
第一步 在device/qcom/sepolicy/vendor/common/file.te 定义selinux type: proc_xxxx,如下:
type proc_xxxx, fs_type;

第二步 device/qcom/sepolicy/vendor/common/genfs_contexts,绑定proc_xxxx到对应的实际节点
genfscon proc /touchscreen/glove u:object_r:proc_xxxx:s0

第三步 device/qcom/sepolicy/vendor/common/system_app.te,申请权限system_app的权限
allow system_app proc_xxxx:file rw_file_perms;

2,基于sys下出现selinux权限问题
第一步 在device/qcom/sepolicy/vendor/common/file.te 定义selinux type: proc_xxxx,如下:
type sys_xxxx, fs_type;

第二步 device/qcom/sepolicy/vendor/common/file_contexts,绑定sys_到对应的实际节点。 sys/bus/i2c/devices/xxxx/xxx u:object_r:sys_xxxx:s0

第三步 device/qcom/sepolicy/vendor/common/system_app.te,申请权限system_app的权限
allow system_app sys_xxxx:file rw_file_perms;

注:绑定时,需要给予实际路径,可以去find 查找一下具体实际路径。

三,实际log分析
LOG: type=1400 audit(0.0:59): avc: denied { write } for name=“xxxx” dev=“proc” ino=4026532642 scontext=u:r:vendor_init:s0 tcontext=u:object_r:sysfs_proc:s0 tclass=file permissive=0

denied { write } :需要添加写权限。 name=“xxxx” 节点名称为xxxx dev=“proc” 属于proc文件系统

scontext=u:r:vendor_init 需要添加vendor_init文件内权限(对此文件下去添加权限)

tcontext=u:object_r:sysfs_proc:s0 file定义的名称为 sysfs_proc。 tclass=file 类型为file

按照上述log,去vendor_init 文件添加 allow vendor_init:file write

添加完成之后,权限权限已经添加。
————————————————
版权声明:本文为CSDN博主「程序香菇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_49786098/article/details/120905516

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值