SELinux(Security-Enhanced Linux)是美国国家安全局在 Linux 开源社区的帮助下开发的
一个强制访问控制(MAC,Mandatory Access Control)的安全子系统。RHEL 7 系统使用 SELinux
技术的目的是为了让各个服务进程都受到约束,使其仅获取到本应获取的资源。

例如,您在自己的电脑上下载了一个美图软件,当您全神贯注地使用它给照片进行美颜
的时候,它却在后台默默监听着浏览器中输入的密码信息,而这显然不应该是它应做的事情
(哪怕是访问电脑中的图片资源,都情有可原)。SELinux 安全子系统就是为了杜绝此类情况而
设计的,它能够从多方面监控违法行为:对服务程序的功能进行限制(SELinux 域限制可以确
保服务程序做不了出格的事情);对文件资源的访问限制(SELinux 安全上下文确保文件资源
只能被其所属的服务程序进行访问)。

SELinux 服务有三种配置模式,具体如下。
enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
permissive:遇到服务越权访问时,只发出警告而不强制拦截。
disabled:对于越权的行为不警告也不拦截。

SELinux 服务的主配置文件中,定义的是 SELinux 的默认运行状态,可以将其理解为系
统重启后的状态,因此它不会在更改后立即生效。可以使用 getenforce 命令获得当前 SELinux
服务的运行模式:
可以用 setenforce [0|1]命令
修改 SELinux 当前的运行模式(0 为禁用,1 为启用)。注意,这种修改只是临时的,在系统
重启后就会失效:

semanage 命令用于管理 SELinux 的策略,格式为“semanage [选项] [文件]”。
SELinux 服务极大地提升了 Linux 系统的安全性,将用户权限牢牢地锁在笼子里。
semanage 命令不仅能够像传统 chcon 命令那样—设置文件、目录的策略,还可以管理网络
端口、消息接口。使用 semanage 命令时,经常用到的几个
参数及其功能如下所示:
-l 参数用于查询;
-a 参数用于添加;
-m 参数用于修改;
-d 参数用于删除。

在某些情况下,使用httpd服务访问书数据的时候,返回错误页面,我们就要思考是不是,httpd 服务中突然开启的这项个人用
户主页功能到底有没有被 SELinux 域默认允许呢?
getsebool 命令查询并过滤出所有与 HTTP 协议相关的安全策略。其中,off 为
禁止状态,on 为允许状态。
setsebool 命令来修改 SELinux 策略中各条规则的布尔值
通过这两种命令是httpd服务显示正常,如果我们建立的是一个个人主页不希望其他人看到我们可以建立一个私人账号:
可以使用htpasswd 命令生成密码数据库。-c 参数表示第一次生成;后面再分
别添加密码数据库的存放文件,以及验证要用到的用户名称(该用户不必是系统中已有的
用户)来设置权限。

SELinux安全子系统的学习的更多相关文章

  1. linux 学习第十三天(screen不间断会话、apache服务、SELinux安全子系统)

    一.screen 命令不间断会话 1.安装screen(从系统镜像作为yum仓库安装) 1.1.加载系统镜像 1.2.mount /dev/cdrom /media/cdrom/  (挂在系统镜像) ...

  2. 27.SELinux 安全子系统

    1.SELinux(Security-Enhanced Linux)是美国国家安全局在Linux 开源社区的帮助下开发的一个强制访问控制(MAC,Mandatory Access Control)的安 ...

  3. SElinux安全子系统---学习

    SElinux是一个强制访问控制的安全子系统,是为了让各个服务进程都受到约束,只能获取到属于自己的资源 SElinux有三种配置模式: 1:enforcing--强制启动安全配置策略,拦截不合法的请求 ...

  4. linux输入子系统(5) - 学习框架

    注:本系列转自: http://www.ourunix.org/post/290.html input子系统学习系列文章,是我在实际开发过程中遇到也是必须啃下去的第一个Linux驱动,所以有必要记载下 ...

  5. input子系统驱动学习之中的一个

        刚開始学习linux这门课就被分配编写一个设备的input子系统驱动.这对我的确有点困难.只是实际的操作中发现困难远比我想象的要大的多.本以为依照老师课上的步骤就行非常快的完毕这项任务.后来发 ...

  6. linux系统中 SElinux安全子系统

    1.SElinux 是什么? SElinux(Security-Enhanced Linux)是美国国家安全局在linux开源社区的帮助下开发的一个强制访问控制(Mandatory Access Co ...

  7. SELinux 了解及CentOS7 中 semanage命令的安装

    SELinux 安全子系统 SELinux(Security-Enhanced Linux)是美国国家安全局在Linux开源社区的帮助下开发的一个强制访问控制(MAC,Mandatory Access ...

  8. Linux就该这么学10学习笔记

    参考链接:https://www.linuxprobe.com/chapter-10.html 网站服务程序 第1步:把光盘设备中的系统镜像挂载到/media/cdrom目录. [root@linux ...

  9. PYTHON替代MATLAB在线性代数学习中的应用(使用Python辅助MIT 18.06 Linear Algebra学习)

    前言 MATLAB一向是理工科学生的必备神器,但随着中美贸易冲突的一再升级,禁售与禁用的阴云也持续笼罩在高等学院的头顶.也许我们都应当考虑更多的途径,来辅助我们的学习和研究工作. 虽然PYTHON和众 ...

随机推荐

  1. C语言中一个字符对应一个ascii码;占一个1个字节8个二进制位;存到内存中也是用ascii的十进制的二进制表示

    /** 只读变量和常量 const 只读 const int a; int const a;//同上面的代码行是等价的,都表示一个常整形数. int *const a;//const具有"左 ...

  2. PHPStorm启动问题--Failed to load JVM DLL

    一.问题 启动PHPStorm时突然遇到PHPStorm无法启动的问题,提示:Failed to load JVM DLL,如图所示:

  3. luogu 1714

    前缀和 + rmq #include <bits/stdc++.h> const int N = 5e5 + 10; int Pow[30], Log[N]; int n, m; int ...

  4. Java SpringBoot 实体类数据自动验证

    package demo.dto; import org.hibernate.validator.constraints.Length; import javax.validation.constra ...

  5. 【随记】安装SQL Server 2008 R2 提示创建usersettings/microsoft.sqlserver.configuration.landingpage.properties.se

    在安装SQL Server 2008 R2 提示创建usersettings/microsoft.sqlserver.configuration.landingpage.properties.se.. ...

  6. 【洛谷】P2568 GCD

    前言 耻辱,我这个OI界的耻辱! 题目描述 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对.输入格式  一个整数N输出格式答案输入输出样例  输入  4  ...

  7. js jquery 实现 排班,轮班,日历,日程。使用fullcalendar 插件

    如果想用fullcalendar实现排班功能,或者日历.日程功能.那么只需要简单的几步: 这里先挂官网链接: fullcalendar fullcalendar官网下载链接 一.下载及简单配置 1.这 ...

  8. elasticsearch type类型创建时注意项目,最新的elasticsearch已经不建议一个索引下多个type

    https://www.elastic.co/guide/cn/elasticsearch/guide/current/mapping.html如果有两个不同的类型,每个类型都有同名的字段,但映射不同 ...

  9. Git的使用(5) —— 在IDEA上使用

    1. 在IDEA中配置Git 前言:IDEA中鼓捣Git是真的费劲,建议还是用TortoiseGit. 打开IDEA的Settings,左侧菜单列表中的Version Control里面找到Git. ...

  10. #C++初学记录#日常学习函数

    静态变量static,只进行一次初始化. #include<cstring> #include<iostream> using namespace std; int main( ...