0

0

SELinux是什么

青灯夜游

青灯夜游

发布时间:2023-02-08 11:56:35

|

7076人浏览过

|

来源于php中文网

原创

SELinux是指安全强化的Linux,是Linux的一个安全子系统,旨在增强传统Linux操作系统的安全性,解决传统Linux系统中自主访问控制(DAC)系统中的各种权限问题(如root权限过高等)。SELinux中采用的是强制访问控制(MAC)系统,也就是控制一个进程对具体文件系统上面的文件或目录是否拥有访问权限。

SELinux是什么

本教程操作环境:linux7.3系统、Dell G3电脑。

SELinux是什么

SELinux,Security Enhanced Linux 的缩写,也就是安全强化的 Linux,是由美国国家安全局(NSA)联合其他安全机构(比如 SCC 公司)共同开发的一个Linux安全子系统,旨在增强传统 Linux 操作系统的安全性,解决传统 Linux 系统中自主访问控制(DAC)系统中的各种权限问题(如 root 权限过高等)。

SELinux 项目在 2000 年以 GPL 协议的形式开源,当 Red Hat 在其 Linux 发行版本中包括了 SELinux 之后,SELinux 才逐步变得流行起来。现在,SELinux 已经被许多组织广泛使用,几乎所有的 Linux  内核 2.6 以上版本,都集成了 SELinux 功能。

对于 SELinux,初学者可以这么理解,它是部署在 Linux 上用于增强系统安全的功能模块。

我们知道,传统的 Linux 系统中,默认权限是对文件或目录的所有者、所属组和其他人的读、写和执行权限进行控制,这种控制方式称为自主访问控制(DAC)方式;而在 SELinux 中,采用的是强制访问控制(MAC)系统,也就是控制一个进程对具体文件系统上面的文件或目录是否拥有访问权限,而判断进程是否可以访问文件或目录的依据,取决于 SELinux 中设定的很多策略规则。

说到这里,读者有必要详细地了解一下这两个访问控制系统的特点:

  • 自主访问控制系统(Discretionary Access Control,DAC)是 Linux 的默认访问控制方式,也就是依据用户的身份和该身份对文件及目录的 rwx 权限来判断是否可以访问。不过,在 DAC 访问控制的实际使用中我们也发现了一些问题:
    • root 权限过高,rwx 权限对 root 用户并不生效,一旦 root 用户被窃取或者 root 用户本身的误操作,都是对 Linux 系统的致命威胁。

    • Linux 默认权限过于简单,只有所有者、所属组和其他人的身份,权限也只有读、写和执行权限,并不利于权限细分与设定。

      阿里云-虚拟数字人
      阿里云-虚拟数字人

      阿里云-虚拟数字人是什么? ...

      下载
    • 不合理权限的分配会导致严重后果,比如给系统敏感文件或目录设定 777 权限,或给敏感文件设定特殊权限——SetUID 权限等。

  • 强制访问控制(Mandatory Access Control,MAC)是通过 SELinux 的默认策略规则来控制特定的进程对系统的文件资源的访问。也就是说,即使你是 root 用户,但是当你访问文件资源时,如果使用了不正确的进程,那么也是不能访问这个文件资源的。

这样一来,SELinux 控制的就不单单只是用户及权限,还有进程。每个进程能够访问哪个文件资源,以及每个文件资源可以被哪些进程访问,都靠 SELinux 的规则策略来确定。

注意,在 SELinux 中,Linux 的默认权限还是有作用的,也就是说,一个用户要能访问一个文件,既要求这个用户的权限符合 rwx 权限,也要求这个用户的进程符合 SELinux 的规定。

不过,系统中有这么多的进程,也有这么多的文件,如果手工来进行分配和指定,那么工作量过大。所以 SELinux 提供了很多的默认策略规则,这些策略规则已经设定得比较完善,我们稍后再来学习如何查看和管理这些策略规则。

为了使读者清楚地了解 SELinux 所扮演的角色,这里举一个例子,假设 apache 上发现了一个漏洞,使得某个远程用户可以访问系统的敏感文件(如 /etc/shadow)。如果我们的 Linux 中启用了 SELinux,那么,因为 apache 服务的进程并不具备访问 /etc/shadow 的权限,所以这个远程用户通过 apache 访问 /etc/shadow文件就会被 SELinux 所阻挡,起到保护 Linux 系统的作用。

Selinux如何关闭

#查看selinux状态
[root@vm01]# getenforce
 
#临时关闭selinux
[root@vm01]# setenforce 0
 
#永久关闭
[root@vm01]# vi /etc/selinux/config
# SELINUX=enforcing改为SELINUX=disabled

相关推荐:《Linux视频教程

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.1万人学习

Git 教程
Git 教程

共21课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号