首页 > 系统相关 >SELinux 随笔

SELinux 随笔

时间:2022-11-20 10:44:07浏览次数:65  
标签:sepolicy te vendor perms SELinux file 随笔 data

参考文章:

https://www.cnblogs.com/zhongguiyao/p/13955398.html

 

常用的定义,方便使用 一组权限或一类对象

源码位置:/system/sepolicy/public/global_macros

比如下面这些:

#####################################
# Common groupings of permissions.
#
define(`x_file_perms', `{ getattr execute execute_no_trans map }')
define(`r_file_perms', `{ getattr open read ioctl lock map watch watch_reads }')
define(`w_file_perms', `{ open append write lock map }')
define(`rx_file_perms', `{ r_file_perms x_file_perms }')
define(`ra_file_perms', `{ r_file_perms append }')
define(`rw_file_perms', `{ r_file_perms w_file_perms }')
define(`rwx_file_perms', `{ rw_file_perms x_file_perms }')
define(`create_file_perms', `{ create rename setattr unlink rw_file_perms }')

 

 

原生的一些SElinux sepolicy

源码位置:/system/sepolicy/private/  or /system/sepolicy/public/ 

比如

init.te
vendor_init.te
vendor_shell.te

 

一些neverallow的规则常常定义在domain.te

源码位置:/system/sepolicy/public/domain.te

 

文件的安全上下文

原生的定义

/system/sepolicy/public/file.te

 

vendor厂商自己的定义

比如可能是

/device/generic/goldfish/sepolicy/common/file.te

或者其它 te档案中,如

 /system/sepolicy/public/surfaceflinger.te

 

通常会在file_contexts文件中指定进程或档案的selinux安全上下文

比如:

[ /system/sepolicy/private/file_contexts]

// 文件
/data/vendor(/.*)?              u:object_r:vendor_data_file:s0
/data/vendor_ce(/.*)?           u:object_r:vendor_data_file:s0
/data/vendor_de(/.*)?           u:object_r:vendor_data_file:s0

// 进程
/system/bin/surfaceflinger	u:object_r:surfaceflinger_exec:s0

 

可以通过 ls -Z 或 ps -Z 命令查看(是不是和上面定义的一致)

// 查看进程
console:/ # ps -AZ | grep SurfaceFLinger
1|console:/ # ps -AZ | grep surfaceflinger
u:r:surfaceflinger:s0          system          188      1  134632  34488 SyS_epoll_wait      0 S surfaceflinger

// 查看档案
console:/ # ls -Z /data | grep vendor
u:object_r:vendor_data_file:s0                    vendor
u:object_r:vendor_data_file:s0                    vendor_ce
u:object_r:vendor_data_file:s0                    vendor_de

 

查看赋予某一个对象的权限sepolicy

cat /vendor/etc/selinux/vendor_sepolicy.cil | grep "allow xxxx_service"

 

标签:sepolicy,te,vendor,perms,SELinux,file,随笔,data
From: https://www.cnblogs.com/roger-yu/p/16902230.html

相关文章

  • Node.js学习随笔
    Node.jsNode.js不是JS,但是和JavaScript的语法非常相似,是一种服务器端技术,他的竞争对手PHP/JAVA/C++/C#/PYTHON-历史上第一次一门语言可以通吃前后端-前端崛起原因之......
  • 关于GET/POST请求传输时URL编码的介绍记录随笔
    UTF-8编码的汉字:少数是汉字每个占用3个字节,多数占用4个字节#GET请求编码Chrome会先把URL中非ASCII字符按照某种编码格式(谷歌浏览器是UTF-8)编码成byte数组后,然后转成16进......
  • 思路随笔
    熟悉一个项目,先从获取数据库开始2滤清思路最重要训练快速了解项目,从头到尾一句句理解太慢了.还是要从后往前反向思考.了解分支.部分分支做了什么。3最最有效的办......
  • 【Python小随笔】本周一、上周一、上周末日期
    importdatetime#当前日期deftoday_date():returndatetime.datetime.now().date()#上周一deflast_monday():returnstr(datetime.datetime.now()......
  • C语言随笔4
    结构体(自己创造出来的一种类型)structBook                                   struct结构体......
  • [算法模板随笔] 背包Part 1 01背包
    最近在oiwiki上学感觉蛮快乐的,比啃大部头书感觉效率来得快很多今天来聊一下最经典的01背包问题吧.01背包大概就是这样一个问题:有N件物品和一个容量是V的背包......
  • 计算机基础随笔——系统篇
    操作系统进程与线程任务的三种状态 1.操作系统前言:操作系统最核心的概念就是进程进程指的就是一个程序的运行过程,具体来说指的是操作系......
  • 图论随笔
    \(k\)短路这玩意据说可以用A*搞,或者用什么可持久化堆或者左偏树维护最短路树?笔者不才,只好用分层图套dijkstra写一下。思路来自这里。大体流程:把一个点拆成\(k\)......
  • 利用数组构建二叉树(随笔)
    做leetcode的时候,看到示例,突然想自己构建一颗树。。随即自己写了尝试写了一个方法(比较随意)测试用例://example-1[2,1,3]//example-2[2,null,3]//example-3[5,3......
  • 新随笔
    ‎TableofContents1.课件:TheMemoryHierachy1.课件:TheMemoryHierachyThememoryabstractionthebusmovqA,%raxmovq%rax,ANote......