转自:http://www.linuxidc.com/Linux/2014-07/104447.htm

1.selinux的概述

selinux相信大家一定不会陌生,它的全称是内核级加强型防火墙。在服务器的安全方面起到了非常重要的作用。SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。

这样的说法太过官方,我们来举一个生动的栗子:我们通工院有很多个专业,这么多专业的学生又有一个自己的编号(学号),在学校的要求下,每个学生在上课的时候都应该在自己所在的教室,而不应该在别的专业的教室,这样就把学生的活动范围大大的减小了。

SELinux安全上下文初探 http://www.linuxidc.com/Linux/2014-04/99508.htm

一次由SELinux引起的SSH公钥认证失败问题 http://www.linuxidc.com/Linux/2013-07/87267.htm

SELinux 入门教程 http://www.linuxidc.com/Linux/2013-04/82371.htm

SELinux简单配置 http://www.linuxidc.com/Linux/2012-12/77032.htm

CentOS系统如何快速关闭SELinux http://www.linuxidc.com/Linux/2012-11/74613.htm

selinux对于文件也是进行着同样的做法,对每个文件都有一个标签,是的,我们可以去查看:

这个是在mnt目录下,我们的文件标签是mnt_t 如果换一个目录,它里面的文件标签就是另外一个形式。如果向外界的用户开放服务的同时打开selinux,那么用户只能在开放服务的目录下进行操作,即使用户恶意的获取到了root用户权限,依然不能够跨目录进行操作,这样就显得很安全了。

selinux的安全性(在apache服务器上的安全性)

假设我们希望允许远程匿名访问 Web 服务器,我们必须通过防火墙打开端口。然而,这意味着恶意人
员可以尝试利用安全漏洞以及,如果他们损坏 Web 服务器进程,获得 apache 用户和 apache 组的权
限来强行进入系统。该用户 / 组具有 document root ( /var/www/html )等的读取权限以及 /tmp 、
/var/tmp 和所有人均可写的任何其他文件 / 目录的写入权限。
SELinux 是一组可确定哪个进程能访问哪些文件、目录、端口等的安全规则。每个文件、进程、目录和
端口都具有专门的安全标签,称为 SELinux 上下文。上下文只是一个名称, SELinux 策略使用它来确定
某个进程是否能访问文件、目录或端口。默认情况下,该策略不允许任何交互,因此明确的规则授予访
问权限。如果没有允许规则,则不允许访问。

2.selinux的配置文件

selinux有三种模式:禁用模式、强制模式和许可模式

(1)禁用模式:selinux处于关闭的状态,没有起到上述所说的功能,此时的服务器就不安全了;
(2)强制模式: seLinux 主动拒绝访问尝试读取类型上下文为 tmp_t 的文件的 Web 服务器。在强制
模式中, seLinux 不仅记录而且提供保护。
(3)许可模式:通常用于对问题进行故障排除。在许可模式中,即使没有明确规则, SELinux 也允许所有交
互,并且记录所有被拒绝的交互。此模式可以用于确定您是否有 SELinux 问题。无需重新引导即可从
强制模式转为许可模式,或再从许可模式转回强制模式。

这三种模式是可以互相切换的,如果是临时的修改可以采用setenforce:


上图我们把selinux从强制模式修改到了许可模式。

但是这样的修改只是暂时的,永久的修改我们需要修改selinux的配置文件:

/etc/sysconfig/selinux

注:一般来说第一次改为强制模式的化,在系统重启的时候会比较漫长,内核在给所有的文件添加安全上下文!!

[转]linux之初识SELinux的更多相关文章

  1. linux异常处理:selinux配置错误导致无法重启

    点击返回自学Linux集锦 linux异常处理:selinux配置错误导致无法重启 一次linux无法重启异常记录: 当时第一反应就是梳理最近的配置变更,特别是能预知相关的就是selinux配置变更. ...

  2. 一文彻底明白linux中的selinux到底是什么

    https://www.phpyuan.com/235739.html 一.前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内 ...

  3. Linux入门——初识Linux

    Linux入门——初识Linux 摘要:本文主要说明了Linux是什么,Linux发展历史,以及同Linux系统有关的一些基本知识. 简介 操作系统 Linux系统同Windows系统.Mac系统一样 ...

  4. linux中的selinux到底是什么

    一文彻底明白linux中的selinux到底是什么 2018年06月29日 14:17:30 yanjun821126 阅读数 58877 标签: SElinux 更多 个人分类: Linux   一 ...

  5. linux系统目录初识

    目录 今日内容概要 内容详细 系统目录结构介绍 目录结构知识描述 今日内容概要 系统目录结构介绍 目录结构详细描述 内容详细 系统目录结构介绍 # 1.linux系统中的目录 一切从根开始 结构拥有层 ...

  6. 如何关闭Linux里边的selinux ?

    原文地址: http://jingyan.baidu.com/article/6d704a131ba67828da51ca73.html 有很多的Linux使用者因为对selinux不熟悉,所以都会将 ...

  7. Linux 防火墙和SELinux的开启和关闭

    防火墙(firewalld) 临时关闭防火墙 systemctl stop firewalld 永久防火墙开机自关闭 systemctl disable firewalld 临时打开防火墙 syste ...

  8. linux下禁用SELinux

    http://chenzhou123520.iteye.com/blog/1313582 如何开启或关闭SELinux RedHat的 /etc/sysconfig/selinux 在新版本中的Red ...

  9. Linux中的SELinux详解--16

    SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled)  几种模式之间的转换 在CentOS6.2 中安装intel 的c++和fortran 的编 ...

随机推荐

  1. java中List遍历删除元素-----不能直接 list.remove()

    https://blog.csdn.net/github_2011/article/details/54927531 这是List接口中的方法,List集合调用此方法可以得到一个迭代器对象(Itera ...

  2. python中实现将普通字典dict转换为java中的treeMap

    上代码: from heapq import heappush,heappop from collections import OrderedDict def toTreeMap(paramMap): ...

  3. java多线程编程核心技术(一)--多线程技能

    1.进程和线程的概念 1.进程:进程是操作系统的基础,是一次程序的执行,是一个程序及其数据在处理机上顺序执行时所发生的活动,是程序在一个数据集合上运行的过程,他是系统进行资源分配和调度的一个独立单位. ...

  4. JOS 不能进入lab2 问题的解决

    JOS 不能进入lab2 问题的解决 这个鸟问题折腾了我好久! lab2是须要 kern/pmap.c的! 可是这里没有 首先要git checkout -b lab2 origin/lab2 (仅仅 ...

  5. sizeof小览

    一.文章来由-一道面试题迁出的探究 我发现我已经形成一种习惯写来由了,以后看博客的时候能够让我回顾起为什么出现这个问题,我用什么方法解决的,既然形成习惯就让这个习惯保持下去吧.今天实验室师姐在看书,一 ...

  6. LeetCode 234. Palindrome Linked List (回文链表)

    Given a singly linked list, determine if it is a palindrome. Follow up:Could you do it in O(n) time ...

  7. 【C++】双向线性链表容器的实现

    // 双向线性链表容器 #include <cstring> #include <iostream> #include <stdexcept> using name ...

  8. JS高级技巧学习小结

    安全类型检測 var isArray = value instanceof Array; 以上代码要返回true,value必须是一个数组,并且还必须与Array构造函数在同一个全局作用域中(Arra ...

  9. ROS人脸检测 使用webcam实现

    github地址https://github.com/ngunauj/facedetection 熟悉ros环境.ubuntu16.04 + ros kinetic版本.使用笔记本自带摄像头,完成人脸 ...

  10. 选择排序(1)——简单选择排序(selection sort)

    选择排序是一种很常见的排序算法,它需要对数组 中的元素进行多次遍历.每经过一次循环,选择最小的元素并把它放在靠近数组前端的位置. 代码实现: public static void selectionS ...