声明:本文主要总结自:鸟哥的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的更多相关文章

  1. Centos7——selinux配置

    临时关闭selinux setenforce 0 永久关闭selinux vi /etc/selinux/config 修改enforcing为disabled 情景一: httpd修改网站文件目录的 ...

  2. Centos7 selinux关闭

    getenforce ---查看selinux服务是否开启 setenforce 0|1 0:Permissive 1:Enforcing 上面使用setenforce是临时的效果 永久关闭方法: v ...

  3. Centos7 二进制安装 Kubernetes 1.13

    目录 1.目录 1.1.什么是 Kubernetes? 1.2.Kubernetes 有哪些优势? 2.环境准备 2.1.网络配置 2.2.更改 HOSTNAME 2.3.配置ssh免密码登录登录 2 ...

  4. centos7 修改selinux 开机导致 faild to load SELinux policy freezing 错误

    centos7 修改selinux 开机导致 faild to load SELinux policy  freezing 错误 之前把selinux关闭了,这次想打开selinux,于是修改了 /e ...

  5. CentOS7使用firewalld和selinux

    转载自莫小安的博客:https://www.cnblogs.com/moxiaoan/p/5683743.html 如何查看和使用selinux https://blog.csdn.net/edide ...

  6. 因为错误关闭Selinux导致CentOS7启动失败(进度条卡死,图形界面加载卡死)

    我在CentOS7上安装oracle,非常麻烦,搞半天终于安装完毕,当天我没有发现任何问题,第二天上班打开虚拟机CentOS7就进不去了. 我想起来之前关闭了Selinux,把系统名称改成了redha ...

  7. CentOS7 关闭防火墙和selinux

    本文将简单介绍在CentOS7上如何临时和永久关闭防火墙和selinux. 关闭防火墙 # 查看防火墙状态 [root@localhost ~]# systemctl status firewalld ...

  8. [原]Failed to load SELinux policy. System Freezing ----redhat7or CentOS7 bug

    重启rhel7或者centos7 启动界面按 e 在启动项后面加上enforcing=0 Ctrl+x  运行修改后的grub 进入系统 编辑保存/etc/selinux/config 重启

  9. CentOS7.0 x86_64系统上构建php开发环境--Lamp(包含设置虚拟文件夹,加入SELinux对httpd的支持等知识)

    一.安装mysql,直接用yum安装就可以,mysql在centos7.0版本号中被mariadb替代了. 命令: yum install mysql-server mysql 安装好了,选择改动my ...

随机推荐

  1. Spring Boot- 用idea新建spring boot web项目

    1.新建project 2.选择Spring Initializr,next 3.输入项目信息,next 4.选择web依赖以及Spring Boot的版本,next 5.Finish 6.Enabl ...

  2. table+css与xhtmL+css实现同一登陆框(代码片段)

    1.从网上下载了一个不错的登录框样式(table结合css布局): 2.初学xhtmL,自己改写了一下,希望有用 3. 我怎么不会上传截图呢?  ​1. [代码]xhtml_css组合    < ...

  3. ajax技术返回json如何处理

    json只是一种文本字符串. Smarty是一个使用PHP写出来的模板引擎. ajax如何处理json数据格式 ①json的格式如下: "{属性名:属性值,属性名:属性值}". 因 ...

  4. Android 基础-1.0 按钮4种点击事件

    第一种 测试使用 直接xml添加,平时在自己的测试demo中使用比较多. 1.直接在xml里给按钮添加点击事件 android:onClick="btn_click" 2.按住op ...

  5. 学习c++的优秀博客(转)

    http://zhedahht.blog.163.com/  本博客讨论程序员面试题,并主要集中在C/C++.数据结构算法和算法上.http://saturnman.blog.163.com/ sat ...

  6. Canvas drawImage

    drawImage() 方法在画布上绘制图像.画布或视频. drawImage() 方法也能够绘制图像的某些部分,以及/或者增加或减少图像的尺寸. 这个方法有三张传参模式,3个参数,5个参数,9个参数 ...

  7. linux命令学习笔记(17):whereis 命令

    whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和 源代码文件(参数-s).如果省略参数,则返回所有信息. 和find相比,whereis查找的速度 ...

  8. I.MX6 Android 永不休眠

    /************************************************************************* * I.MX6 Android 永不休眠 * 说明 ...

  9. NYOJ-括号配对问题--------待解决,RE

    描述 现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的 ...

  10. C#实现读写文本文件中的数据

    [1]首先我们定义一段假数据,这里以一个string为例字 static void Main(string[] args)        {            string data = &quo ...