[CentOS7] SELinux
声明:本文主要总结自:鸟哥的Linux私房菜-第十六章、程序管理與 SELinux 初探,如有侵权,请通知博主
SELinux = Security Enhanced Linux
传统的文件权限与账号关系:DAC模式(Discretionary Access Control,自主式存取控制)
依据进程的拥有者与文件的rwx权限来决定进程有无读写能力
以政策规则规定特定进程读取特定文件:MAC模式(Mandatory Access Control,委托式存取控制)
通过SELinux针对特定进程与特定文件资源来进行权限的管制

SELinux运行的各部分之间的关系


详细参考:鸟哥的Linux私房菜-SELinux
获取相关的策略类型
获取某策略类型的三种方法:

设定策略类型为开启状态(未写入设定文件)

设定策略类型为永久开启状态(写入设定文件)

查看策略类型下的具体规则
查看fcron_crond该策略类型下有哪些规则

所有关于SELinux的指令:
sestatus ==> 查看目前的SELinux使用的哪个政策(Policy: 1.targeted 2.minimum 3.mls)
setsebool [ -P ] xxx 1 ==> 设置SELinux的某规则为开启状态
getsebool [ -a ] ==> 列出SELinux所有规则与该规则的开启状态(布尔值)
seinfo [ -u | r | t | b ] ==> 列出SELinux所有[-u(user)身份识别的种类],[-r(role)角色的种类],[-t(type)类别的种类],[-b(boolean)规则的种类]
sesearch [-A] [-s 主体类别] [-t 目标类别] [-b 规则类别] ==> 列出某规则允许放行的文件的SELinux的类别
例如:
sesearch -A ==> 列出所有放行(-A allow)的规则
sesearch -A -s crond_t -t admin_home_t ==> 列出所有主体类别为crond_t,目标类别为admin_home_t的所有放行规则
sesearch -A -b fcron_crond ==> 列出fcron_crond规则下的详细信息
sesemanage boolean -l ==> 列出SELinux所有规则与该规则的开启状态(布尔值),与 getsebool -a 效果相同
chcon [-R] [-u user] [-r role] [-t type] 文件 ==> 手动更改文件的SELinux的类型
chcon [-R] --reference=文件1 文件2 ==> 手动更改文件2的SELinux的类型(参考文件1的SELinux的类型)
restorecon [-R] [-v] ==> 让文件或目录恢复正确的SELinux的类型(-R 包含子目录,-v 将过程显示到屏幕上)
semanage fcontext [-a | m | d] ==> -a增加,-m修改,-d删除预设的SELinux的类型
semanage fcontext -l ==> 查询所有预设(默认)的目录和文件的SELinux的类型,当使用restorecon -Rv 就能将文件恢复为预设(默认)SELinux的类型
semanage fcontext -a -t admin_home_t "/srv/test(/.*)?" ==> 将/srv/test目录即目录下的预设(默认)SELinux的类型设为admin_homt_t类型
[CentOS7] SELinux的更多相关文章
- Centos7——selinux配置
临时关闭selinux setenforce 0 永久关闭selinux vi /etc/selinux/config 修改enforcing为disabled 情景一: httpd修改网站文件目录的 ...
- Centos7 selinux关闭
getenforce ---查看selinux服务是否开启 setenforce 0|1 0:Permissive 1:Enforcing 上面使用setenforce是临时的效果 永久关闭方法: v ...
- Centos7 二进制安装 Kubernetes 1.13
目录 1.目录 1.1.什么是 Kubernetes? 1.2.Kubernetes 有哪些优势? 2.环境准备 2.1.网络配置 2.2.更改 HOSTNAME 2.3.配置ssh免密码登录登录 2 ...
- centos7 修改selinux 开机导致 faild to load SELinux policy freezing 错误
centos7 修改selinux 开机导致 faild to load SELinux policy freezing 错误 之前把selinux关闭了,这次想打开selinux,于是修改了 /e ...
- CentOS7使用firewalld和selinux
转载自莫小安的博客:https://www.cnblogs.com/moxiaoan/p/5683743.html 如何查看和使用selinux https://blog.csdn.net/edide ...
- 因为错误关闭Selinux导致CentOS7启动失败(进度条卡死,图形界面加载卡死)
我在CentOS7上安装oracle,非常麻烦,搞半天终于安装完毕,当天我没有发现任何问题,第二天上班打开虚拟机CentOS7就进不去了. 我想起来之前关闭了Selinux,把系统名称改成了redha ...
- CentOS7 关闭防火墙和selinux
本文将简单介绍在CentOS7上如何临时和永久关闭防火墙和selinux. 关闭防火墙 # 查看防火墙状态 [root@localhost ~]# systemctl status firewalld ...
- [原]Failed to load SELinux policy. System Freezing ----redhat7or CentOS7 bug
重启rhel7或者centos7 启动界面按 e 在启动项后面加上enforcing=0 Ctrl+x 运行修改后的grub 进入系统 编辑保存/etc/selinux/config 重启
- CentOS7.0 x86_64系统上构建php开发环境--Lamp(包含设置虚拟文件夹,加入SELinux对httpd的支持等知识)
一.安装mysql,直接用yum安装就可以,mysql在centos7.0版本号中被mariadb替代了. 命令: yum install mysql-server mysql 安装好了,选择改动my ...
随机推荐
- php数据结构课程---1、数据结构基础介绍(程序是什么)
php数据结构课程---1.数据结构基础介绍(程序是什么) 一.总结 一句话总结: 程序=数据结构+算法 设计好数据结构,程序就等于成功了一半. 数据结构是程序设计的基石. 1.数据的逻辑结构和物理结 ...
- HTML5调用百度地图API进行地理定位实例
自从HTML5的标准确定以后,越来越多的网站使用HTML5来进行开发.虽然对HTML5支持的浏览器不是很多,但是依然抵挡不了大伙对HTML5开发的热情.今天为大家带来的是使用HTML5调用百度地图AP ...
- Android退出应用最优雅的方式(改进版)
Android退出应用最优雅的方式(改进版)(转) 我们先来看看几种常见的退出方法(不优雅的方式) 一.容器式 建立一个全局容器,把所有的Activity存储起来,退出时循环遍历finish所有Act ...
- FileInputStream 原理总结 把文件作为字节流进行读操作
package io; import java.io.FileInputStream; import java.io.IOException; public class IOUtil { /** * ...
- linux命令学习笔记(61):tree 命令
shendu@shenlan:~$ tree 程序“tree”尚未安装. 您可以使用以下命令安装: sudo apt-get install tree shendu@shenlan:~$ sudo a ...
- 2017人工智能元年,AI在喧嚣和质疑中一路走来
前百度首席科学家吴恩达说:就像100年前的电力.20年前的互联网一样,AI也会改变每一个产业! 有人说,现在就像1995年,那一年,第一家互联网公司--网景上市,一天之内大涨208%,互联网正式登上历 ...
- Agc003_D AntiCube
传送门 题目大意 给定$N$个数,求一个最大的子集,使得任意两两的乘积不是一个完全立方数. $n\leq 10^5 A_i\leq 10^{10}$ 题解 考虑两两乘积为$x^3$,由于$x^3\le ...
- C/C++面试题总结(1)
首先说一下,这些东西,有的是必须掌握的,有的是面试时你讲出来就是闪光点.自己把握.把握不好的都搞懂.实在不行背下来. 由于时间关系,总结的比较随意,有的就直接贴链接了,希望理解一下. 第一篇:基础(必 ...
- JVM插码之三:javaagent介绍及javassist介绍
本文介绍一下,当下比较基础但是使用场景却很多的一种技术,稍微偏底层点,就是字节码插庄技术了...,如果之前大家熟悉了asm,cglib以及javassit等技术,那么下面说的就很简单了...,因为下面 ...
- Python-RabbitMQ消息队列实现rpc
客户端通过发送命令来调用服务端的某些服务,服务端把结果再返回给客户端 这样使得RabbitMQ的消息发送端和接收端都能发送消息 返回结果的时候需要指定另一个队列 服务器端 # -*- coding:u ...