安卓添加設備節點權限和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
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/82764.shtml
英文地址,請注明出處:http://en.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常見…