当前位置: 首页 > news >正文

Android Selinux详解[三]--新增设备节点标签相关

上个章节说了在file_context中也可以新增节点,但可能会出现标签无法生效的情况,这种情况下就需要在genfs_contexts中去新增设备节点相关的标签了,因为在genfs_contexts中打的标签,系统会自动执行restorecon命令,而在file_contexts中新增设备节点标签,是需要代码或者手动执行restorecon命令才会生效的。

在工作过程中,SElinux常用的有以下几个文件可用于新增标签

可用于加标签的文件名含义对应的声明文件名(一般会声明的地方,根本上放哪里都可以)
file_contexts给 文件/目录/节点 新增标签file.te
genfs_contexts给节点新增标签,与上一个不同的是,不用执行restorecon操作file.te
hwservice_contexts给hal服务新增标签hwservice.te
property_contexts给属性新增标签property.te
seapp_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 -Z

dr-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 leds

2. 如何给系统设备节点打标签

我们随便举个例子,假设我们要给/sys/devices/platform/soc/xxx000.i2c/i2c-0/0-00xx/leds/blue加标签

加标签之前我们要先看一下当前的标签,以及确认一下当前的路径

adb shell

cd /sys/devices/platform/soc/xxx000.i2c/i2c-0/0-00xx/leds

$/sys/devices/platform/soc/xxx000.i2c/i2c-0/0-00xx/leds # ls -l -Z
total 0
drwxr-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 -l

cd ..

ls -l

一直往前查找,查找到第一个目录sys,查看有没有超链接,假设这里是有超链接的,格式是如下这种

sys/devices/platform/soc/xxx000.i2c/i2c-0$ ls -l
total 0
drwxr-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命令可能会来不及。

http://www.jsqmd.com/news/1405049/

相关文章:

  • 快速傅里叶FFT变换
  • 2026 八月最新廊坊疏通马桶地漏维修高压清洗管道测漏打捞攻略 - 启航优客
  • 免费Steam创意工坊下载器怎么用?WorkshopDL完整上手指南(支持1000+游戏模组)
  • Android14 WMS-Power键短按流程
  • QQ空间备份怎么做最省心?一款把数据存回本地的开源插件
  • 新乡延津哪里有文武学校?一文了解中原文武学校收费与办学情况 - Luckyone王
  • 2026 八月最新唐山下水道疏通地漏反水维修冻管处理异物打捞商家汇总 - 启航优客
  • 2026年广州白云区靠谱的律师事务所推荐:本地产业适配与法律服务选型指南 - 滚动商讯
  • 基于SpringBoot的闲置资产管理系统(毕业设计项目源码+文档)
  • 电子元件-门电路
  • cann 9.0.0 安装同时支持 a2 a3 910 950pr的仿真环境 9.0.0(只支持950pr)
  • 涿州蛋糕谁家好?
  • DFRDisplayKm驱动完整上手指南:让MacBook Pro的Touch Bar在Windows 10下恢复全部功力
  • 在上海茶叶恒温冷藏库怎么做?茶叶仓储环境控制与安装参考 - 上海冰丰库制冷
  • 基于FAQ的智能问答(一): Elasticsearch的调教
  • 基于SpringBoot的问卷调查管理系统(毕业设计项目源码+文档)
  • 2026佛山宝格丽回收,同款价差大?看懂行情再出手 - 闲置奢品线下探店
  • Steam创意工坊下载器终极指南:用WorkshopDL跨平台畅享海量模组
  • 2026年清新微波机构挑选指南:关注这些细节才能找到专业好机构
  • 佛山爱马仕首饰怎么卖更划算?本地真实回收行情一览 - 闲置奢品线下探店
  • 基于FAQ的智能问答(二): 召回篇
  • 河南GEO贴牌适合什么人做?创业者选型指南:核心要点与实用指南
  • 生成模型(二):基于流的生成模型(Flow-based Generative Model)
  • 2026年成都半包装修公司口碑实测梳理与高性价比优选参考 - 天下观知
  • 2026年 节能仿经编割圈绒圆机实力源头厂家:出口认证与高效织造工艺全观察 - 卓企推荐
  • 如何给Unity游戏加模组?BepInEx插件框架从安装到写出第一个插件的完整记录
  • 2026年 节能割圈大圆机生产厂家安全认证与稳定运行实力解析 - 卓企推荐
  • 2026年工控一体机怎么选?看完这篇少花冤枉钱
  • 2026年省内电瓶车托运攻略:短途寄运划算方法与注意事项全解析 - 快递物流资讯
  • 细软塌护发精油太厚重选哪款更清爽?四款热门产品配方结构与功效数据横评 - 资讯报道