安卓添加设备节点权限和selinux访问权限

# 1 修改设备节点权限及配置属性设置节点值

## 1.1 修改设备节点权限

### 1.1.1 不会手动卸载的节点

在system/core/rootdir/init.rc中添加节点权限

在on boot下面添加

chown system system /sys/kernel/usb/host
chmod 0664 /sys/kernel/usb/host

### 1.1.2 支持热插拔的节点(设备移除后,节点会删除)

在system/core/rootdir/ueventd.rc中添加

/dev/ttyUSB*              0666   system     system

## 1.2 配置属性设置节点值

# on property:sys.boot_completed=1 表示开机完成
# persist.sys.oem.usb_host=*表示随便写入什么值
on property:sys.boot_completed=1 && property:persist.sys.oem.usb_host=*write /sys/kernel/usb/host ${persist.sys.oem.usb_host}

# 2 添加selinux访问权限

## 2.1 权限报错和添加方法

修改se权限 编译
avc: denied { write } for comm="init" name="disable_charging_screen" dev="sysfs" ino=86923 scontext=u:r:init:s0 tcontext=u:object_r:vendor_sysfs_oem:s0 tclass=file permissive=
缺少什么权限:     { read }权限,
谁缺少权限:        scontext=u:r:hal_secure_element_unisoc:s0 
对哪个文件缺少权限:tcontext=u:object_r:hwservicemanager_prop
什么类型的文件:  tclass=file 
完整的意思: hal_secure_element_unisoc进程对hwservicemanager_prop类型的file缺少read 权限。
allow  hal_secure_element_unisoc hwservicemanager_prop:file  read;
allow init vendor_sysfs_oem:file { open read getattr execute write};export SELINUX_IGNORE_NEVERALLOWS=truemake -j128 selinux_policy最后push目录system/etc/selinux(修改system/sepolicy下的权限) 或者 vendor/etc/selinux(修改device下的权限)到设备

## 2.2 权限添加的位置

# mtk平台添加权限的位置:
device/mediatek/sepolicy/basic/non_plat# 高通添加的位置:
device/qcom添加的权限内容:
file.te中添加:type oem_device, fs_type, sysfs_type;
file_contexts中添加:/sys/kernel/usb/host                                 u:object_r:oem_device:s0
init.te中添加:
allow init oem_device:file w_file_perms;
allow init oem_device:file {open write read };
allow init oem_device:fd {use};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/82764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssm学习笔记(尚硅谷) day1

创建新项目 maven的聚合 1. 标记父类项目 标签<packaging>pom</packaging>表示将该项目标记为父类项目&#xff0c;必须添加。 以下是标签<packing>的常见取值 groupId在pom.xml中&#xff0c;可以从pom.xml直接修改。 2. 通过<modules>添加子项目…

基于Java,SpringBoot,Vue,UniAPP医院预约挂号买药就诊病例微信小程序系统设计

摘要 随着医疗信息化的不断推进以及“互联网医疗”模式的广泛普及&#xff0c;传统医院挂号流程中存在的排队时间长、资源分配不均等问题日益凸显&#xff0c;急需通过数字化手段加以解决。本研究设计并实现了一套基于Java、SpringBoot、Vue与UniAPP技术栈的医院预约挂号微信小…

Axure项目实战:运输统计页引入echarts实现高保真设计(JS代码ctrl+c ctrl+v懂得来)

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 案例视频: 数据统计引入echarts示例演示 课程主题:运输统计页引入echarts实现高保真设计 主要内容…

python打卡day39

图像数据与显存 知识点回顾 图像数据的格式&#xff1a;灰度和彩色数据模型的定义显存占用的4种地方 模型参数梯度参数优化器参数数据批量所占显存神经元输出中间状态 batchisize和训练的关系 作业&#xff1a;今日代码较少&#xff0c;理解内容即可 在 PyTorch 中&#xff0c;…

15.1 【基础项目】使用 HTML、CSS 和 TypeScript 构建的简单计数器应用

一个简单的计数器应用是学习如何集成 HTML、CSS 和 TypeScript 的绝佳项目。该应用允许用户对计数值进行增加、减少和重置&#xff0c;展示了 TypeScript 中基本的 DOM 操作和事件处理。 我们将构建的内容 我们将创建一个具有以下功能的计数器应用&#xff1a; 增加计数值减…

RT-Thread源码阅读(3)——内核对象管理

_object_container对象容器数组 在RT-Thread操作系统中&#xff0c;_object_container数组的作用是按类型分类管理内核对象&#xff0c;提供高效的类型检查、资源管理和统计功能 struct rt_list_node {struct rt_list_node *next; /**< point to…

《智能医学》征稿通知:7天可见刊,专科及以上可发表

香港科学出版社(Hong Kong Scientific Publishers Journals)是一家全球独立高质量的学术出版机构&#xff0c;遵循国际开放获取的出版(OA)原则。现已与科检易学术携手共同征集高质量文章。目前可出版来自高等学校、科研院所和企业的先进科技成果。包括理、工、农、医、经、管、…

如何利用categraf的exec插件实现对Linux主机系统用户及密码有效期进行监控及告警?

需求描述 Categraf作为夜莺监控平台的数据采集工具&#xff0c;为了保障Linux主机的安全&#xff0c;需要实现对系统用户密码有效期的监控&#xff0c;并在密码即将到期时及时告警&#xff0c;以提醒运维人员更改密码。本章将详细介绍如何利用Categraf的exec插件来实现这一功能…

RV1126-OPENCV 交叉编译

一.下载opencv-3.4.16.zip到自己想装的目录下 二.解压并且打开 opencv 目录 先用 unzip opencv-3.4.16.zip 来解压 opencv 的压缩包&#xff0c;并且进入 opencv 目录(cd opencv-3.4.16) 三. 修改 opencv 的 cmake 脚本的内容 先 cd platforms/linux 然后修改 arm-gnueabi.to…

如何加载私钥为 SecKeyRef

本文介绍如何在 iOS/macOS 下将私钥加载为 SecKeyRef&#xff0c;涵盖 PEM 格式的 ECC 密钥读取、X9.63 数据构建、以及与 Keychain 的集成。 1. 使用 SecKeyCreateWithData 加载私钥 Apple 提供的 SecKeyCreateWithData 方法可以直接将密钥数据加载为 SecKeyRef 对象。 SecK…

Missashe考研日记—Day44-Day50

Missashe考研日记—Day44-Day50 写在面前 本系列博客用于记录博主一周的学习进度&#xff0c;具体知识总结在目前已有的笔记中&#xff1a;1.高数强化学习笔记2.计网复习笔记3.新增&#xff1a;线代题型总结 专业课408 这周先是把计网第三章数据链路层剩下的局域网以及之后…

Windows下安装并使用kubectl查看K8S日志

【1】安装kubectl 官网文档&#xff1a;https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-windows/ 下载后得到 kubectl.exe&#xff0c;放到一个目录下&#xff0c;然后配置环境变量。 此时CMD 进入DOS命令窗口 kubectl version【2】配置config文件 其实就是…

攻防世界János-the-Ripper

打开压缩包是一个文件&#xff0c;用010Editor打开可以发现里面有隐藏文件flag.txt 此时想到分离文件&#xff0c;利用binwalk工具 利用binwalk生成出的是一个压缩包&#xff0c;解压缩但是发现竟然解压需要密码 这里就可以开始暴力破解密码了&#xff0c;这里我用的是ARCHPR工…

XPlifeapp:高效打印,便捷生活

在数字化时代&#xff0c;虽然电子设备的使用越来越普遍&#xff0c;但打印的需求依然存在。无论是学生需要打印课表、资料&#xff0c;还是职场人士需要打印名片、报告&#xff0c;一个高效便捷的打印软件都能大大提高工作效率。XPlifeapp就是这样一款超级好用的手机打印软件&…

【计算机网络】第2章:应用层—Web and HTTP

目录 一、Web 与 HTTP 二、总结 &#xff08;一&#xff09;Web 的定义与功能 &#xff08;二&#xff09;HTTP 协议的定义与功能 &#xff08;三&#xff09;HTTP 协议的核心机制 1. HTTP 请求与响应流程 2. HTTP 的连接类型 3. HTTP 的状态码 &#xff08;四&#xf…

如何实现 LRU 缓存:基于LinkedHashMap?

全文目录&#xff1a; 开篇语前言1. LinkedHashMap 简介1.1 LinkedHashMap 的构造方法 2. 基于 LinkedHashMap 实现 LRU 缓存2.1 设计思路2.2 实现步骤2.3 代码说明2.4 测试案例2.5 解释 3. LRU 缓存优化3.1 removeEldestEntry() 方法的灵活性3.2 内存管理 4. 总结文末 开篇语 …

Spring Boot测试框架全面解析

Spring Boot测试框架基础 Spring Boot通过增强Spring测试框架的能力,为开发者提供了一系列简化测试流程的新注解和特性。该框架建立在成熟的Spring测试基础之上,通过自动化配置和专用注解显著提升了测试效率。 核心依赖配置 要使用Spring Boot的全部测试功能,只需在项目中…

Spring Boot 整合 Spring Data JPA、strategy 的策略区别、什么是 Spring Data JPA

DAY29.2 Java核心基础 Spring Boot 整合 Spring Data JPA Spring Data JPA根据具体的数据库分为不同的子模块&#xff0c;无论是关系型数据库和非关系型数据库&#xff0c;Spring Data都提供了支持 Mysql&#xff1a;Spring Data JPA Redis&#xff1a;Spring Data Redis …

Ubuntu 服务器配置与 Cloudflare Tunnel 部署指南 免费内网穿透家用服务器

Ubuntu 服务器配置与 Cloudflare Tunnel 部署指南 本文档总结了服务器配置相关内容&#xff0c;包括 Ubuntu 服务器配置、硬盘扩容、静态 IP 设置以及 Cloudflare Tunnel 的部署步骤。 目录 硬盘分区与扩容设置静态 IPCloudflare Tunnel 部署SSH 通过 Cloudflare Tunnel常见…