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

selinux基础知识

selinux的说明

selinux意思是安全强化的linux

selinux当初开发的目的是为了避免资源的误用

DAC:自主访问控制系统

MAC:强制访问控制系统

selinux的工作原理

selinux是通过MAC的方式来控制管理进程,它控制的主体是进程,而目标则是该进程能否读取的文件资源

主体:进程

目标:被主体访问的资源,可以是文件,目录,端口等

策略:由于进程与文件数量庞大,因此selinux会依据某些服务来制定基本的访问安全策略。这些策略内还会有详细的规则来指定不同的服务开放某些资源的访问与否。

目前主要的策略有:

targeted:针对网络服务限制较多,针对本机限制较少,是默认的策略

strict:完整的selinux限制,限制方面较为严格

安全上下文:主体能不能访问目标除了策略指定外,主体和目标的安全上下文必须一致才能够顺利访问。最终文件的成功访问还是与文件系统的rwx权限设置有关

 安全上下文冒号分四个字段含义

安全上下文冒号分为四个字段:

identify:role:type

身份识别(identify):相当于账号方面的身份识别,主要有以下三种常见的类型

root:表示root的账号身份

system_u:表示程序方面的标识,通常就是进程

unconfined_u:代表的是一般用户帐号相关的身份

角色(role):通过角色字段,可以知道这个数据是属于程序,文件资源还是代表用户。一般角色有:

object_r:代表的是文件或目录等文件资源

system_r:代表的是进程

类型(type):在默认的targeted策略中,identify与role字段基本上是不重要的,重要的在于这个类型字段。而类型字段在文件与进程的定义不太相同,分别是:

type:在文件资源上面称为类型

domain:在主体程序中则称为域。xxxx_xxx_xxx_t

domain需要与type搭配,则该程序才能顺利读取文件资源

最后一个字段是和MLS和MCS相关的东西,代表灵敏度,一般用s0、s1、s2来命名,数字代表灵敏度的分级。数值越大、灵敏度越高。

selinux的启动关闭与查看

selinux的三种模式

enforcing:强制模式,代表selinux正在运行中,开始限制domain/type

permissive:宽容模式,代表selinux正在运行中,不过仅会有警告信息并不会实际限制domian/type的访问

disabled:关闭,selinux并没有实际运行

修改安全上下文

临时生效

-R        连同该目录下的子目录也同时修改

-t         后面接安全上下文的类型字段

-u        后面接身份识别

-r         后面接角色

chcon  -R   --reference=范例文件 文件 将文件的上下文按照范例文件修改

恢复默认标签

restorecon [-Rv]  文件或目录                       

-R        连同子目录一起修改

-v         将过程显示到屏幕上

若标签使用不正确,使用semanage fcontext 修改默认type配置

semanage fcontext  -{l |a |m|d|t}  file_spec

-l        为查询

-a        增加一些目录的默认安全上下文的设置

-m       修改

-d        删除

-t        类型

 

http://www.xdnf.cn/news/8562.html

相关文章:

  • Linux虚拟机联网失败原因之一
  • 什么是软件压力测试,出压力测评报告的第三方软件检测公司推荐
  • 20250523-在Unity中创建角色动画(2D)(Set up Animator with State Machine)
  • LCS4110R加密芯片在打印机墨盒的应用
  • el-form表单规则验证
  • C# DataGrid扩展 - DataGrid不同模板切换
  • 电商美图设计工具,图生生-低成本打造高转化商品场景图
  • 【新品来袭】功耗降低56%爱普生研发新款晶体振荡器
  • 信息系统项目管理师考前练习9
  • InnoDB引擎底层解析(二)之InnoDB的Buffer Pool(二)
  • 嵌入式STM32学习——ESP8266 01S的基础介绍
  • ConvSearch-R1: 让LLM适应检索器的偏好或缺陷
  • 【数据架构03】数据治理架构篇
  • 六、OpenGL 2.0 通过引入可编程着色器,将渲染控制权从硬件厂商转移到开发者手中。这是如何实现的,或者说可编程着色器是如何实现的
  • mybatis-plus与jsqlparser共用时报sql解析错误
  • Golang 之 Context 源码解析(1.20+)
  • 电动伺服疲劳试验机
  • Nodejs导出excel文件 及复杂样式解决方案
  • Spring用到的设计模式
  • 20200201工作笔记常用命令要整理
  • 根据Cortex-M3(STM32F1)权威指南讲解MCU内存架构与如何查看编译器生成的地址具体位置
  • 科研经验贴:AI领域的研究方向总结
  • TASK05【Datawhale 组队学习】系统评估与优化
  • @Configuration 与 @Component 的区别
  • IPSec VPN参数配置显示详解
  • Jenkins构建信息收集脚本详解:打造全面的CI/CD监控体系
  • 阿里云API RAG全流程实战:从模型调用到多模态应用的完整技术链路
  • 《C 语言内存函数超详细讲解:从 memcpy 到 memcmp 的原理与实战》
  • 计量芯片在小家电产品破壁机中的电机保护应用案例
  • react+Mapbox GL实现标记地点、区域的功能