Android Selinux详解[三]--新增设备节点标签相关
上个章节说了在file_context中也可以新增节点但可能会出现标签无法生效的情况,这种情况下就需要在genfs_contexts中去新增设备节点相关的标签了因为在genfs_contexts中打的标签系统会自动执行restorecon命令而在file_contexts中新增设备节点标签是需要代码或者手动执行restorecon命令才会生效的。在工作过程中SElinux常用的有以下几个文件可用于新增标签可用于加标签的文件名含义对应的声明文件名(一般会声明的地方根本上放哪里都可以)file_contexts给 文件/目录/节点 新增标签file.tegenfs_contexts给节点新增标签与上一个不同的是不用执行restorecon操作file.tehwservice_contexts给hal服务新增标签hwservice.teproperty_contexts给属性新增标签property.teseapp_contexts给APP新增标签untrusted_app.te app.te...等等service_contexts给系统服务新增标签service.te本文主要讲一下如何在genfs_contexts中新增标签。目录1. 我们看一下源码中的genfs_contexts加标签的格式2. 如何给系统设备节点打标签3. 新增节点的验证方式1. 我们看一下源码中的genfs_contexts加标签的格式genfs_contexts - OpenGrok cross reference for /system/sepolicy/private/genfs_contexts给/proc/cmdline打标签genfscon proc /cmdline u:object_r:proc_cmdline:s0给/sys/class/leds打标签genfscon sysfs /class/leds u:object_r:sysfs_leds:s0可以看到格式如下genfscon节点首目录标签 /路径u:object_r:新标签名:s0比如/sys/class/leds的标签是用如下加法去加的首先看一下sys目录的标签是什么, 在adb shell 后执行ls -l -Zdr-xr-xr-x 14 root root u:object_r:sysfs:s0 0 1970-01-01 00:00sys可以看到sys的标签是sysfs然后就可以给/sys/class/leds打标签了打法就是下面这样的genfscon sysfs /class/leds u:object_r:sysfs_leds:s0看下机器里是什么样的执行ls -l -Z/sys/class/,就可以看到leds的标签了。drwxr-xr-x 2 root root u:object_r:sysfs_leds:s0 0 1970-01-03 18:45 leds2. 如何给系统设备节点打标签我们随便举个例子,假设我们要给/sys/devices/platform/soc/xxx000.i2c/i2c-0/0-00xx/leds/blue加标签加标签之前我们要先看一下当前的标签以及确认一下当前的路径adb shellcd /sys/devices/platform/soc/xxx000.i2c/i2c-0/0-00xx/leds$/sys/devices/platform/soc/xxx000.i2c/i2c-0/0-00xx/leds # ls -l -Ztotal 0drwxr-xr-x 3 root root u:object_r:sysfs:s0 0 1970-01-03 18:45 blue看完之后我们会发现当前blue节点的标签是sys的默认标签也就是sysfs那加法就是如下的: genfscon sysfs /devices/platform/soc/xxx000.i2c/i2c-0/0-00xx/leds u:object_r:sysfs_new_leds:s0但到此处加法是不全的我们还需要看一下/sys/devices/platform/soc/xxx000.i2c/i2c-0/0-00xx/leds这条路径有没有超链接也就是有没有从别的路径也能到blue这个节点的地方我们做如下操作cd ..ls -lcd ..ls -l一直往前查找查找到第一个目录sys,查看有没有超链接假设这里是有超链接的格式是如下这种sys/devices/platform/soc/xxx000.i2c/i2c-0$ ls -ltotal 0drwxr-xr-x 22 root root 0 1970-01-03 18:45 0-00xx - ../../../../../class/platform那说明也可以通过sys/class/platform/soc/xxx000.i2c/i2c-0/0-00xx/leds路径到达blue节点那我们就要把这个超链接路径也添加进去才可以 genfscon sysfs /class/platform/soc/xxx000.i2c/i2c-0/0-00xx/leds u:object_r:sysfs_new_leds:s0到此就结束了总结下那我们需要在genfs_contexts添加两条才可以 genfscon sysfs /devices/platform/soc/xxx000.i2c/i2c-0/0-00xx/leds u:object_r:sysfs_new_leds:s0 genfscon sysfs /class/platform/soc/xxx000.i2c/i2c-0/0-00xx/leds u:object_r:sysfs_new_leds:s0然后再在file.te中添加声明节点类的基本都是如下声明格式将标签名替换即可。type sysfs_new_leds, sysfs_type, fs_type;3. 新增节点的验证方式编译方式验证方法整编刷机烧录的方式此方法不用任何别的操作去你新增的标签下通过ls -l -Z查看即可看到效果单编adb push完之后然后执行adb reboot重启完成后去对应目录下去查看标签会发现标签并没有生效需要执行以下restorecon命令才可以当文件对应路径下使用restorecon 文件名的方式即可看到打标签后的效果如果涉及到开机过程中的权限访问请最好整编验证因为此时执行restorecon命令可能会来不及。

相关新闻

通过网口对690t动态固件更新

通过网口对690t动态固件更新

LAN-404信号处理板采用飞腾D2000ZYNQ690T架构。产品要求通过ZYNQ 配置 690T 动态加载功能。本文档说明如何通过 ZYNQ 使用动态配置 Slave SelectMAP 方案为 690T FPGA 加载固件,包含操作流程与注意事项。. 操作流程图 …

2026/10/3 4:42:05 阅读更多 →
linux内核原理--进程,线程

linux内核原理--进程,线程

进程,进程组,会话,线程,父子进程,线程组,孤儿进程,兄弟进程,兄弟线程 1.核心概念逐个解释 进程(Process) 操作系统资源分配的最小单位。拥有独立的虚拟地址空…

2026/9/29 5:38:11 阅读更多 →
Android Selinux详解[四]--新增服务标签相关

Android Selinux详解[四]--新增服务标签相关

在工作过程中,SElinux常用的有以下几个文件可用于新增标签 可用于加标签的文件名含义对应的声明文件名(一般会声明的地方,根本上放哪里都可以)file_contexts给 文件/目录/节点 新增标签file.tegenfs_contexts给节点新增标签,与上一个不同的是…

2026/10/5 7:57:52 阅读更多 →

最新新闻

Spark每日PV/UV统计的生产级陷阱与调优实战

Spark每日PV/UV统计的生产级陷阱与调优实战

1. 这道题不是考SQL,是考你有没有真正跑过Spark作业“面试分享(Spark实现每天访问的记录数和用户数)”——看到这个标题,我第一反应不是写代码,而是翻出去年帮某电商公司做日志分析时的调试日志。当时一位候选人现场手…

2026/10/13 7:42:10 阅读更多 →
浏览器多开实战:独立用户数据目录实现千分身零冲突

浏览器多开实战:独立用户数据目录实现千分身零冲突

先提醒一句:别急着装什么“多开神器”。你装个不靠谱的工具,要么弹广告,要么偷偷改主页,要么干脆把账号环境搞串,哭都来不及。我一开始也踩过这些坑,后来老老实实回到“自己搭分身”这条路,才真…

2026/10/13 7:42:10 阅读更多 →
netplwiz修改Windows显示名教程:区分账户三层概念与避坑指南

netplwiz修改Windows显示名教程:区分账户三层概念与避坑指南

先说一个结论:netplwiz 能改的是显示名,也就是登录界面、开始菜单上那个“全名”,而不是真正登录系统时的账户名。很多朋友搜“修改电脑用户名”,其实真正想改的只是开机界面上那串拼音或者乱码;而有一部分人则是想把登…

2026/10/13 7:42:10 阅读更多 →
PyTorch原生LSTM时间序列预测实战:从数据预处理到工业部署

PyTorch原生LSTM时间序列预测实战:从数据预处理到工业部署

简介:本资源是一份面向深度学习初学者与时间序列分析实践者的Python代码实现教程,聚焦LSTM模型在股票预测、销售趋势分析、天气预报等典型场景中的落地应用。内容覆盖数据预处理(滑动窗口构造、归一化)、Keras框架下多变体LSTM建模…

2026/10/13 7:42:10 阅读更多 →
菊水149-10A数字高压表功能解析与应用指南

菊水149-10A数字高压表功能解析与应用指南

1. 设备概述与核心功能解析KIKUSUI 149-10A(菊水149-10A)是一款专业级数字高压表,专为精确测量高电压场景设计。这台设备在电力系统检测、工业设备维护以及实验室高压测试中扮演着关键角色。它的核心优势在于能够安全、准确地测量高达10kV的直…

2026/10/13 7:42:10 阅读更多 →
APS 排程系统怎么选:三个能落地的判断标准

APS 排程系统怎么选:三个能落地的判断标准

标题:APS 排程系统怎么选:三个能落地的判断标准很多制造企业上 APS 的初衷,都是被同一件事逼出来的:订单越来越碎、插单越来越频繁,计划员却还在用 Excel 排产,一张表改到凌晨,改完之后车间照旧…

2026/10/13 7:41:10 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →