selinux详解

selinux 的全称是Security Enhance Linux,就是安全加强的Linux。在Selinux之前root账号能够任意的访问所有文档和服务 ;

如果某个文件设为777,那么任何用户都可以访问甚至删除。 这种方式称为DAC(主动访问机制),很不安全。

DAC自主访问控制: 用户根据自己的文件权限来决定对文件的操作,也就是依据文件的own,group,other/r,w,x 权限进行限制。Root有最高权限无法限制。r,w,x权限划分太粗糙。无法针对不同的进程实现限制。

Selinux则是基于MAC(强制访问机制),简单的说,就是程序和访问对象上都有一个安全标签(即selinux上下文)进行区分,只有对应的标签才能允许访问,否则即使权限是777,也是不能访问的。

在selinux中,访问控制属性叫做安全上下文,所有客体(文件、进程间通讯通道、套接字、网络主机等)和主体(进程)都有与其关联的安全上下文,一个安全上下文由三部分组成:用户(u)、角色(r)、和类型(t)标识符。但我们最关注的是第三部分

当程序访问资源时 ,主体程序必须要通过selinux策略内的规则放行后,就可以与目标资源进行安全上下文的比对,若比对失败则无法存取目标,若比对成功则可以开始存取目标,最终能否存取目标还要与文件系统的rwx权限的设定有关,所以启用了selinux后出现权限不符的情况时,你就得一步一步分析可能出现的问题了。

1.selinux状态查看与配置:

selinux的配置文件位置:/etc/selinux/config,它还有个链接在/etc/sysconfig/selinux.

使用config文件来配置selinux(通过配置文件修改selinux的状态属于永久修改,要重启系统才生效)

[root@localhost ~]# ls /etc/sysconfig/selinux  -l
lrwxrwxrwx. 1 root root 17 Jan 10 19:48 /etc/sysconfig/selinux -> ../selinux/config

(1)配置文件

[root@make_blog ~]# cat /etc/sysconfig/selinux# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

selinux=enforcing

#此项定义selinux状态

#enforcing-是强制模式系统,它受selinux保护。就是违反了策略你就无法继续操作下去。

#permissive-是提示模式系统不会受到selinux保护,只是收到警告信息。permissive就是selinux有效,但是即使你违反了策略的话它让你继续操作,但是把你违反的内容记录下来(警告信息)

#disabled-禁用selinux

selinuxtype=targeted

#此项定义selinux使用哪个策略模块保护系统。targeted只对Apache,sendmail,bind,postgresql,nfs,cifs等网络服务保护。

以上策略配置都放置在/etc/selinux目录中,目录和策略名称相同。

使用selinux相关命令查看和修改状态:(属于立即生效但临时性的)

(2)查看工作状态

getenforce查看selinux状态

[root@make_blog ~]# getenforce
Disabled

setenforce设定selinux运行状态,1开启(Enforce),0关闭(Permissive)

[root@localhost datas]# setenforce
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ][root@localhost ~]# setenforce  0
[root@localhost ~]# getenforce
Permissive
[root@localhost ~]# setenforce 1
[root@localhost ~]# getenforce
Enforcing

相关链接:https://blog.csdn.net/kangshuo2471781030/article/details/79294506

转载于:https://www.cnblogs.com/yinfutao/p/10613083.html

selinux详解及配置文件相关推荐

  1. java 配置文件的路径_详解java配置文件的路径问题

    详解java配置文件的路径问题 详解java配置文件的路径问题 各种语言都有自己所支持的配置文件,配置文件中有很多变量是经常改变的.不将程序中的各种变量写死,这样能更方便地脱离程序本身去修改相关变量设 ...

  2. 详解Tomcat 配置文件server.xml

    1. 详解Tomcat 配置文件server.xml https://www.cnblogs.com/kismetv/p/7228274.html 2.Tomcat下Server.xml配置详解 ht ...

  3. [原创]Saltstack学习笔记:命令参数详解以及配置文件说明

    很久没有更新saltstack的文章了,今天还是来更新一点,又开始对saltstack复习了一下. 前边写了一点<saltstack入门概述(1)>以及<Saltstack如何安装( ...

  4. java 配置文件配置路径_详解java配置文件的路径问题

    详解java配置文件的路径问题 各种语言都有自己所支持的配置文件,配置文件中有很多变量是经常改变的.不将程序中的各种变量写死,这样能更方便地脱离程序本身去修改相关变量设置. 那么我们需要读取配置文件, ...

  5. [转]application.properties详解 --springBoot配置文件

    本文转载:http://blog.csdn.net/lpfsuperman/article/details/78287265###; # spring boot application.propert ...

  6. 详解 nginx 配置文件及构建 web 虚拟主机

    详解 nginx 主配置文件.添加服务及构建 web 虚拟主机 一.添加为系统服务 1.方法一 2.方法二 二.nginx 主配置文件 nginx.conf 1.全局配置 2.I/O 事件配置 3.H ...

  7. application.properties详解 --springBoot配置文件

    转载侵删:https://blog.csdn.net/lpfsuperman/article/details/78287265 以下为链接原文 # spring boot application.pr ...

  8. Nginx配置文件参数详解以及配置文件模板

    全局配置 详解 user nginx nginx; #定义Nginx运行的用户和用户组 worker_processes 1; #nginx进程数,通常设置等于CPU总核数或者2倍与CPU worke ...

  9. Linux中的SELinux详解--16

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

  10. Android有关selinux详解

    SELinux 即Security-Enhanced Linux,由美国国家安全局(NSA)发起,Secure Computing Corporation (SCC) 和 MITRE直接参与开发,以及 ...

最新文章

  1. 树莓派 raspberry安全关机命令重启命令
  2. Scala元组:存放各种相同或不同类型的数据
  3. 优化方案电子版_关于小区分支道路整修设计方案的讨论稿(No.2020121)
  4. WPF 播放Flash
  5. iOS常用第三方类库
  6. 自测-2 素数对猜想
  7. 机器学习笔记(十四):主成分分析法(PCA)(2)
  8. 基于asp.net大学生助学贷款管理系统#毕业设计
  9. .Net(C#)腾讯信鸽推送
  10. android 拨打带有分机号的电话
  11. PMP是什么?PMP证书在国用处大吗?
  12. 北京利达消防设备调试软件
  13. hubot+slack(hubot部分)
  14. SLAM静态编译中动态链接库问题
  15. littlevgl之cont 控件(容器控件)
  16. 计算机编程的艺术:The Art of Computer Programming
  17. 按键精灵免字库本地识别OCR
  18. window+deepin双系统安装
  19. 图像处理职位面试题汇总(2)
  20. 姚舜:北漂后悔一阵子,不北漂后悔一辈子

热门文章

  1. Java从入门到精通 第18章 包及访问权限
  2. Darknet网络模型结构可视化
  3. python找到二维数据矩阵中的最大最小值直接使用min、max函数
  4. 怎样找到一份深度学习的工作(附学习材料,资源与建议)
  5. 2021-08-15 reponse文件下载路径
  6. linux getopt_long函数,新手疑问:getopt_long()重入问题
  7. mac上latex生成不了pdf_Mac 10.8 下安装Sphinx并支持生成中文PDF
  8. 【Django 2021年最新版教程3】新建一个WebApp项目并运行
  9. 计算机的典型网络地址 特殊0.0.0.0 本机127.0.0.1 内网192.168.xxx.xxx 172.xxx.xxx.xxx 10.xxx.xxx.xxx 外网
  10. kubernetes视频教程笔记 (1)-什么是kubernetes和kubernetes的知识结构思维导图