首页 > 系统相关 >SELinux policy demo

SELinux policy demo

时间:2022-11-14 15:45:59浏览次数:40  
标签:service SELinux device file demo policy te type

1.Add new service started by init

情景:定义一个init 启动的service -- demo_service,对应的执行档为/system/bin/demo。

  • 在/device/mediatke/sepolicy 下创建一个demo.te(例如:Android T中的/device/mediatke/sepolicy/base/private/demo.te)
  • 在demo.te中定义demo 类型,init 启动service 时类型转换:
    type  demo, domain, coredomain;
    type  demo_exec, system_file_type, exec_type, file_type;
    init_daemon_domain(demo)
    
  • 在file_contexts中绑定执行档:
    /system/bin/demo  u:object_r:demo_exec:s0
    
  • 根据demo 需要访问的文件以及设备,在demo.te中定义其它的权限。
    注: Android O 版本后, 需要根据service 本身是放在vendor 还是 system 选择不同的存放sepolicy 存放位置。

2.Access system device

情景:一个native service 需要访问一个专属的char device -- /dev/demo ---- demo 设备名

  • 在device.te中定义device类型:
type demo_device, dev_type;
  • 在file_contexts中绑定demo device:
/dev/demo u:object_r:demo_device:s0
  • 在demo.te中授权demo使用demo device的权限:
allow demo demo_device:chr_file rw_file_perms;

标签:service,SELinux,device,file,demo,policy,te,type
From: https://www.cnblogs.com/caseyzq/p/16889192.html

相关文章

  • SELinux
    1.SELinux基本架构与原理 SELinux是典型的MAC-MandatoryAccessControls实现,对系统中每个对象都生成一个安全上下文(SecurityContext),每一个对象访问系统的资源都......
  • ubuntu install jsoncpp and demos,StyledWriter,FastWriter,Reader,parse
    1.Installsudoapt-getinstalllibjsoncpp-dev2.Addusingheader.#include<jsoncpp/json/json.h>3.Use#include<algorithm>#include<chrono>#include<ct......
  • idea导入运行官方jfinal_demo
     JFinal极速开发框架首先从官网下载zip  解压,打开idea  选择刚刚解压好的文件 设置   修改成本机的SDK  打开Navicat,导入数据库,在启动说明......
  • Linux学习笔记(11)——进程管理与SELinux初探
    进程管理与SELinux初探进程管理与SELinux初探一、什么是进程1.1进程与程序(process&program)二、任务管理(jobcontrol)2.1什么是任务管理2.2jobcontrol的......
  • Android实战--解析稍复杂JSON数据DEMO
    废话不多说,直接上代码,布局文件:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_wid......
  • Android实战--小DEMO(JAVA关键字学习)一
    学习技术最好的方式就是实战,看书看不到的东西太多了,实际操作时会碰到各种书本里提不到的问题,解决这些问题会迅速提升你的能力,你是一个solider,最好成长的方式就是实战。下面......
  • koa2后端热更新 使用nodemon插件就ok了
    为了不编辑一次代码,就得重新启动一次npmstart.使用nodemon插件1.安装  npminstallnodemon--save2.修改项目目录下package.json,如图3.重新启动项目,检测有node......
  • 微信小游戏开发:demo 学习
    最近入坑了微信小游戏开发,官方有一个很经典的飞机大战的项目作为demo,虽然有不少的注释,对于游戏开发新手来说还缺少整体上的认知和把握。正好找到一个系列文章介绍这个dem......
  • Demo68_最直观的监控与捕获异常
    //关于栈溢出异常packagecom.YiChang;publicclassB{publicstaticvoidmain(String[]args){try{newB().a();//这是一个栈溢......
  • Demo69_多种捕获异常,及其捕获异常的等级和类型
    //多种捕获异常,及其捕获异常的等级和类型packagecom.YiChang;publicclassC{publicstaticvoidmain(String[]args){inta=10;intb=0;......