Selinux基础学习

Selinux是强大的,复杂的。通过一段时间的学习应该说对Selinux的掌握情况不是很好,但是在实际搭建各种服务中遇到的关于Selinux的问题却已经基本上可以全部解决了。
现在特将Selinux的一些基本功能、设置、学习方法总结一下希望能给大家一点帮助。

1、Selinux的三种模式:
Enforcing强制模式:默认模式,按照Selinux的策略来进行验证和管理系统安全。如果发现和Selinux的规定不相符合则强制阻止程序的运行或者访问,同时给出提示。
Permissive允许模式:系统记录所有违反策略的行为并给与一定的提示,同时不中阻止程序的运行。
Disabled禁用模式:关闭Selinux
getenforce:查询当前的Selinux模式
setenforce 0 |1 0:允许模式 1:强制模式
禁用selinux: 修改/etc/sysconfig/selinux 然后重新引导系统。

2、selinux下的环境元素:不同的安全需要使用不同的元素
Ls -Z 查看目标文件或者目录的策略
Ps -Z 查看进程的策略
*目前有5种支持元素,但不一定出现在所有系统中。
User:role:type:sensitivity:category
User_u:object_r:tmp_t:s0:c0
************************************************************
[[email protected] ~]# ls -Z /home
drwx------ redhat redhat system_u:object_r:user_home_dir_t redhat
drwxrwxrwx root root root:object_r:public_content_rw_t share
**************************************************************
用户(user)
指登陆到系统的用户类型;根用户登陆,则用户类型就是root;其他用户类型是user_u,即便是使用su命令提高访问权限也还是user_u;进程类型是system_u。
角色(role)
定义某个文件、进程、或用户的目的。文件角色是object_r;进程角色是system_r;用户角色也是system_r;
类型(type)
“强制类型”用来指定文件或者进程中数据的性质。策略中的规则指定那个进程类型可以使用哪个文件类型。
敏感性(sensitivity)
被政府、军事等部门使用的安全级别。
类别(cagegory)
与组类似,但可以阻止root访问的保密数据。
备注:类型为unconfined_t得到进程是尚未被selinux限制的进程。

3、Selinux目标策略:
chcon –t tmp_t /path 修改目标对象的安全环境类型。
**********************************************************
[[email protected] ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t test
[[email protected] ~]# chcon -t etc_t test
[[email protected] ~]# ls -Z
-rw-r--r-- root root root:object_r:etc_t test
************************************************************
Chcon –reference 对象1 对象2 把对象1的安全环境类型应用到对象2上
************************************************************
[[email protected] ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:etc_t test
[[email protected] ~]# chcon --reference ./install.log ./test
[[email protected] ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:user_home_t test
************************************************************
restorecon /path 自动判断并应用对象的默认环境策略。
************************************************************
[[email protected] ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:etc_t test
[[email protected] ~]# restorecon ./*
[[email protected] ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:user_home_t test
********************************************************

4、selinux策略的控制:策略文件位置/selinux/booleans
system-config-selinux 图形模式下修改各个项目的selinux的设置,要重新引导才能生效。
命令法:
1)getsebool 控制策略 :查看某个控制策略启用情况 on 启用 off关闭。
     getsebool –a |grep XXX 可以过滤所有XXX的策略的启用情况。
2)setsebool –P 控制策略 on|off
     setsebool –P 控制策略=1|0
     -P表示始终;开启或者关闭某个策略。
Selinux 总是针对服务和进程出现的,要学好Selinux就不要禁用它。这样在做练习时,才会遇上相关的问题,才能看到Selinux给你解决问题的提示,也只有这样才能学好Selinux。

更多精彩linux视频教程,尽在51CTO学院:

http://edu.51cto.com/course/courseList/id-48.html

时间: 2024-11-08 20:38:16

Selinux基础学习的相关文章

Docker 学习笔记【2】 Docker 基础操作实,Docker仓库、数据卷,网络基础学习

Docker 学习笔记[3] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,实操 网络基础  ---------高级网络配置和部分实战案例学习 ============================================================= Docker 学习笔记[1]Docker 相关概念,基本操作--------实操记录开始 ============================================================= 被

linux基础学习笔记——操作大全

作者:liaoyi 更新时间:2014-6-2 ****************基本操作***************** 关机 shutdown -h now    root用户               init 0              root用户halt      root+一般用户poweroff 重启shutdown -r now    root用户init6     root用户reboot            root+一般用户 注意:1.shutdown 比较灵活,可

计算机网络基础学习笔记——理论

历史:第一代:50年代:(多台)终端(terminal)-->计算机(host) 缺点:1.主机负荷重,效率低.  2.终端速率低,线路利用低,费用高. 60年代:通信控制处理机CCP(communication control processer)或FET(front end processor)    集中器.第二代:60年代末:计算机--计算机   1969年,美国国防部国防高级研究计划署(简称ARPA Advanced Research Project Agency)试验.   1972

OpenStack基础学习及keystone服务配置

一.openstack基础学习 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作.OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单.可大规模扩展.丰富.标准统一的云计算管理平台.OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成. 二.环

蓝鸥零基础学习HTML5—html+css基础

蓝鸥零基础学习HTML5-html+css基础 一.课程目标 1.了解前端开发职位:2.掌握常用标签以及语义及用法:3.掌握常用css的特性,掌握基础布局技巧:4.掌握整站规划概念. 二.适用人群 零基础积极学习html5者 三.课程简介 本课程主要讲解了 html+css的基础知识,包括html模板.标签.css基础样式.布局.表格表单.整站等等,是进行前端开发的基础.Html+css是前端开发的基础,大部分前端开发工程都需要从html+css布局开始,html+css的基础非常重要,是前端开

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.

Objc基础学习记录5

NSMutableString类继承的NSString类. NSMutableString是动态的字符串. 1.appendingString 方式: 向字符串尾部添加一个字符串. 2.appendingFormat:可以添加多个类型的字符串. int,chat float,double等 3.stringWithString 创建字符串, 4.rangeOfString 返回str1在另一个字符串中的位置. 5.NSMakeRange(0,3) 字符串0位到3位. 6.deleteCharac

Linux新手入门书籍推荐 鸟哥的linux私房菜-基础学习篇

这本书写的不错.赞~\(≧▽≦)/~ 2017-02-24 下午,我开始在Linux下写第一个.c程序,在终端打印hello world.gcc 源代码文件之后,输出可执行文件,但是 当我输入文件名执行它的时候,却提示我 无法找到命令.于是我找百度,查资料,花了半个小时,终于找到解决方法了, 输入"./filename"即可.... 2017-02-25 我看<基础学习篇>这本书,在P158页下面的例题讲解中找到了昨天下午异常的解析.我就很是感慨,心想:要是早看这本书,半个

Java基础学习——数组初识(1)

Java基础学习--数组初识(1) 1什么是数组 Java中常见的一种数据结构就是数组,数组可以分为一维数组.二维数组和多维数组. 数组是由一组相同的变量组成的数据类型,数组中每个元素具有相同的数据类型,数组中的每个元素都可以用一个统一的数组名和下标来确定. 2 数组的使用 数组的一般使用步骤: 声明数组 分配内存给该数组 下面是一维数组为例: 数据类型  数组名 []: 数组名 = new 数据类型 [数据个数]: 2.1一维数组的声明与赋值 1.数组的声明 int  num [];