SELinux (Security Enhanced Linux),安全强化的 Linux 。
其实 SELinux 是在进行持、文件等权限设置依据的一个内核模块。由于启动网络的也是持续,
因此刚好也是能够控制网络服务能否访问系统资源的一道光卡。
传统的文件权限与账号关系:自主访问控制,DAC : 各种权限设置对 root 无效。因此当某个进程想要对文件进行访问时,系统会依据该进程的所有者/用户组,并比较文件的权限,若通过权限检查,就可以访问文件了。这种访问文件系统的方式称为“自主访问控制”(Discretionary Access Control,DAC)。基本上,就是依据进程的所有者与文件资源的 rwx 权限来决定有无访问的能力。这个有几个困扰:root 具有最高权限;用户可以取得进程来更改文件资源的访问权限
以策略规则制定程序读取特定文件:委托访问控制,MACSELinux 导入了强制访问控制,Mandatory Access Control。可以针对特定的进程与特定的文件资源来进行权限的控制。

SELinux 通过 MAC 的方式来管控进程,它控制的主体是进程,而目标则是该进程能否读取的 "文件资源"。主体(Subject):SELinux 想要管理的就是进程。目标(Object):主体进程能否访问的 "目标文件"一般就是文件系统。因此这个目标项目可以与文件系统划伤等号。策略(Policy):由于进程与文件数量庞大,因此 SELinux 会依据某些服务来制定基本的访问安全策略。
这些策略内还会有详细的规则(rule)来指定不同的服务开放某些资源的访问与否。
目前CentOS 里面主要提供2个策略,分别是:
targeted:针对网络服务的限制比较多,针对本机限制比较少,是默认的策略
strict:完整的 SELinux 限制,
限制方面较为严格。上下文安全(security context):主体能不能访问目标除了策略指定之外,主体与目标的安全上下文必须一致才能顺利访问。
有点类似于文件系统的rwx。
安全的上下文存放在 i-node 里面,因此主体进程想要读取目标文件资源时,同样需要读取i-node,
这 i-node 内就可以比较安全上下文以及 rwx 等权限值是否正确。

使用 ls -Z 查看

安全上下文主要用冒号分为三个字段:
Identify:role:type
身份识别:角色:类型身份识别(Identify):相当于账号方面的识别,常见类型:root:表示 root 的账号身份system_u:表示系统程序方面的识别,通常就是进程user_u:表示一般用户账号相关的身份
除了 root 外,其他都带有 _u 的字样。这个身份标示重点在于让我们了解该数据为何种身份所有。
而系统上面大部分数据都是sysmtem_u或root。至于如果是在 /home 下面的数据,那么大部分是 user_u。角色(Role):通过角色我们可以指定这个数据是属于程序,文件资源还是代表用户。object_r:代表是文件或目录等资源system_r:代表的是进程,不过一般用户也会被指定成 system_r类型(Type,最重要):在默认的targeted策略中,Identify 与 role 字段基本上是不重要的。
重要的是类型(Type)。一个主体进程能不能读到这个文件资源与类型字段有关。而类型字段在文件与进程的定义不太相同:type:在文件资源(Object)上面称为类型(Type)dommain:在主体程序(Subject)中则称为域(domain)domain 需要与 type 搭配,则该程序才能够顺利你读取文件资源。进程与文件 SELinux type 字段的相关性:

主体与目标之间是否具有可读写的权限与 进程的 domain 以及文件的 Type 有关。


SELinux 的启动,关闭,查看

SELinux 模式:enforcing:强制模式permissive:宽容模式disabled:关闭getenforce 查看什么模式sestatus 查看策略



ps aux -Z // ps -Z 查看进程的安全上下文重置安全上下文:
chcon [-R] [-t type] [-u user] [-r role] 文件
chcon -t httpd_sys_content_t /var/www/html/index.html
ll -Z /var/www/html/index.htmlrestorecon [-Rv] 文件或目录 //默认的安全上下文还原
当发生 SELinux 错误,记录错误信息:setroubleshoot: 将错误信息写入/var/log/messagesauditd:将详细数据写入 /var/log/audit/audit.log
SELinux 的策略和规则管理:策略查询:
seinfo [-Atrub]想要知道详细规则时:
sesearch [-a] [-s 主体类型] [-t 目标类型] [-b 布尔值]

http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/26/3100444.html

30. SELinux相关推荐

  1. 理解Linux下的SELinux(MAC)

    理解Linux下的SELinux 长久以来,每当遇到授权问题或者新安装的主机,我的第一反应是通过setenforce 0命令禁用SELinux,来减少产生的权限问题,但是这并不是一个良好的习惯.这篇文 ...

  2. supervisord+supervisorclusterctl+supervisord-monit

    为什么80%的码农都做不了架构师?>>>    最近blog更新的有点慢了,先补一篇关于supervisord的文章,supervisord使用很久了,那是在还没掌握怎么在linux ...

  3. 自动化运维工具-Ansible实战指南

    Ansible实战 前言 一.Ansible简介 1.ansible是什么? 2.ansible特点 3.ansible架构 主要模块 工作流程 命令执行过程 二.Ansible 配置 1 安装ans ...

  4. Pandownload 下线了,我花了 30 分钟自己搭建了一个网盘

    点击上方视学算法,选择设为星标 加个"星标★",每日好文必达! 文末包邮送3本技术书! 来源:码匠笔记 阅读文本大概需要 5 分钟 点击「阅读原文」查看pk哥原创精品视频. Pan ...

  5. Pandownload 下线了,我自己花了 30 分钟自己搭建了一个网盘

    点击上方"Python与机器智能",选择"星标"公众号 第一时间获取价值内容 来源:码匠笔记 Pandownload 下线大家心里都很苦,不过我们还是的重新站起 ...

  6. 系统管理员都要知道的 30 个 Linux 系统监控工具

    1. top - 进程活动监控命令 top 命令会显示 Linux 的进程.它提供了一个运行中系统的实时动态视图,即实际的进程活动.默认情况下,它显示在服务器上运行的 CPU 占用率最高的任务,并且每 ...

  7. Fedora 30正在接近最终版,但首先它有一些bug需要解决

    昨天标志着即将发布的Fedora 30发行版的最终冻结.Red Hat/Fedora开发人员站在向GNOME和其他关键组件上游贡献创新的最前沿,其问题是经常将这些创新暴露给新的bug,这个周期也不例外 ...

  8. linux ps 只显示端口,这30个Linux系统监控工具,每个系统管理员都应该知道

    是否需要监控Linux服务器的性能?试试这些内置的命令和附加工具.大多数发行版都附带了大量的Linux监控工具,这些工具提供了可以用来获取系统活动信息的指标.你可以使用这些工具来查找性能问题的可能原因 ...

  9. 硬核致敬Linux !30岁生日快乐!

    1991年8月25日,21岁的Linus Torvalds(以下简称Linus)做了一个免费的操作系统"Linux",并在这一天向外界公布这个由"业余爱好"主导 ...

  10. SELinux基本概念及基本配置

    SELinux从出现至今,已经走过将近13年历史,然而在Linux相关QQ技术群或者Linux相关论坛,经常有人遇到问题问题都归咎与 SELinux,如httpd各项配置都正常,但客户就是无法访问:又 ...

最新文章

  1. 外卖平台涉嫌大数据杀熟,处理不能“自说自话”
  2. shell编程中for/while/util/case/select/break/continue
  3. SSH与SSM的区别以及相关技术的流行度
  4. localhost 已拒绝连接_【Python】MongoDB数据库的连接和操作
  5. 微软将发布新版Win10 可能以“新 Windows”之名公布
  6. python实现邮件发送功能
  7. ZOJ1222 Just the Facts【大数+模除】
  8. Robomaster视觉教程(二)Win10+VS201x+Opencv3.4.x环境搭建
  9. java.exe 0xc000012d_应用程序无法正常启动 0xc000012d
  10. html js 获取this,JavaScript中的this引用(推荐)
  11. Alibaba(实习准备)—SOFARPC学习总结
  12. 关于Chrome的广告和弹窗拦截插件
  13. m分别使用ESN网络,ESN+RBF神经网络以及ESN+Volterra网络进行数据预测对比仿真
  14. C语言学生成绩信息管理系统课程设计报告
  15. Facebook sdk嵌入,登陆与注销
  16. 将中文括号变为英文括号
  17. 蓝牙、wifi、zigbee和lora、NB-lot,通话信号,网络信号4G
  18. latte - 拿铁咖啡
  19. 南京师范大学与南京林业大学计算机,2017南京师范大学在国内排名多少位
  20. Access2003开发者扩展工具集概述(转)

热门文章

  1. React Mixin
  2. 好文要顶之 --- 简单粗暴地理解 JavaScript 原型链
  3. html+jquery翻页相册(原创)
  4. mysql_提示 Lock wait timeout exceeded解决办法
  5. android中ImageView、ImageButton、Button之间的区别
  6. R语言图表排版之一页多图
  7. 从代码到300优质客户,用户画像在销售的实战应用
  8. MongoDB驱动程序快速入门
  9. angularjs 弹出框 $modal
  10. 冲刺第二阶段工作总结01