一、SELinux

SElinux的前身是NSA(美国国家安全局)发起的一个项目。它的目的是将系统加固到可以达到军方级别。

为什么NSA选择Linux呢?

在目前市面上大多数操作系统都是商用闭源的,只有Linux是开源的,这样修改并加入这项功能就方便许多,而且没有版权纠纷。所以,现在selinux就成为了Linux内核的一部分。

在了解selinux之间,我们需要知道DAC和CS的概念,它们是linux系统本身的安全机制。

DAC:自主访问控制

每一个用户为了能够实现和其他用户共享文件,在使用ACL之前,只能通过改变这个文件其他用户的权限,但是这中方法给系统安全带来了无穷的隐患。

CS(安全上下文):取决于发起用户的权限和文本本身的权限

CS+DAC给系统的安全机制带来了漏洞,事想apache用户可以查看/etc/passwd,如果它有写权限,就可能被利用进而就修改passwd文件,危害系统安全。

所有才又了MAC强制访问控制的概念

MAC: Mandatory Access Control  强制访问控制,它是selinux实现访问控制的基础

还通过httpd服务来说明它的原理:

SELINUX通过type enforce (TE)强制类型策略将httpd的工作目录定义在一个特定的目录/var/www用户如果在定义其他目录,将不允许访问,从而实现mac的强制访问控制。

selinux是怎么工作的

它通过operation (操作)的主和宾打一个“标签”,在一个“类型”里只能由特定的目录或用户执行。这样可以限定一个进程的执行范围只能在一个“沙箱”(sandbox)内了(最小权限法则)

###operation: 读,写,执行,等。其实是一个主谓宾的结构 Subject Operation Object

###最小权限法则:例如定义Sbjiect httpd   的目录/var/www 为public_content_t类型,这样,httpd只能访问有这个特定类型的文件或目录,这些文件就叫沙箱“sendbox”

使用selinx,必须精心设计一套访问法则

给不同的进程打上不同的“域”,给不同的目录打上不同的”类型“通过定义“类型”和“域”的对应规则,来实现。selinx需要域和标签的对应关系,一对一对应     。但是系统上有上千个进程,实现起来很麻烦,所以一般情况下,并不是用selinx作为安全防范。

selinux的实现机制有两种

strict:       任何进程都受selinux的控制,一般不用,太难设定

targeted:   红帽开发,指定选定的进程来受SELINUX,这种机制使得selinx更加容易受到控制

policy: 规则组合起来就叫策略

规则通常是以二进制文件存在的(编辑完转换成二进制),这样可以降低系统资源占用

ll /etc/selinxu/policy

MLS  muiti level scurity

selinxu把一些规则里面可以方便控制的功能设定为on或者off,这些都成为布尔类型

getsebool -a   可以显示这些布尔型的内容

fcontext 规定目录属于哪个进程的范围

启动使用selinux

1.启用selinux

1.vim /etc/sysconfig/selinux

2.SELINUX=enforcing      #任何进程都受selinux控制

3.                                     permissive    #仍然受控制,但是进程进入了别的目录会记录到日志

4.                                     disable           #干净彻底的关闭

5.setenforce

6.genenforce

2.显示标签

1.ls -Z           显示文件的标签

2.                   一共五段     角色:selinux里另外定义的用户

3.                                                          object_r: 有点类似于组

4.                                                          user_home_t: 域或者类型(最重要)通过改变它可以控制访问。类型强制的机制就是通过它实现的

5.ps -Z          显示进程的标签

6.所有显示unconfined_t都表示不受selinux控制

7.ps auxZ | grep httpd

8.ls -dZ

在不同的目录建立的文件类型是不一样的,归不同的进程管理。

3.改变一个类型的标签

1.chcon     chage contex  改变上下文

2.chcon -t    改类型,指定为特定类型

3.                -u

4.                -R   递归修改,可以改变目录下所有目录

5.                      --reference=   以某个文件的标签为参照改变成一样的标签

6.chcon -R --reference=/var/www/html /www

7.chcon -t default_t /www/index.html

4.恢复默认安全上下文及修改

1.restorecon

2.                   -R                   递归

3.                   -F                                           强制

4.                   -v                                           显示详细信息

5.restorecon -R -v -F /www             # 显示/www目录的详细CS信息

6.semange

7.                   -d                  删除

8.                   -m                 修改

9.                   -r

10.                  -a                   附加

11.                   -t                    类型

12.

6.开启布尔类型

1.getsebool -a  | grep httpd                   #查看某个对应的布尔类型的值

2.setsebool httpd_enable_cgi=on          # 加上-p选项永久有效

二、实现samba来测试selinux控制

1.添加tools文件夹

1.vim /etc/samba/smb.conf

2.[tools]

3.       path = /share                        #没有的话事前创建一个

4.       public = yes  5.        write list = @mygrp                 #只允许mygrp组具有创建文件的权限

6.       browseable = yes

7.service smb start

2.添加用户gentoo,并设置samba密码,允许器登陆samba服务器在tools下创建文件

1.

groupadd mygrp

2.useradd gentoo -g mygrp

3.[root@station32 var]# smbpasswd -a gentoo

4.New SMB password:

5.Retype new SMB password:  6.Added user gentoo.

7.smbclient -L 192.168.0.32 -U gentoo          # 查看samba服务器的内容

3.我们查看下/shared目录的CS,并且开启selinux

1.ls -dZ /share/

2.drwxrwxr-x root mygrp root:object_r:default_t          /share/

3.setenforce 1

4.开启selinux后,再使用smbclient命令就会报错,我们看下配置文件里面有这样一行 # To set a label use the following: chcon-t samba_share_t /path ,所以我们必须把/shared文件夹的CS修改后才能正常使用samba

1.chcon -t samba_share_t  /share

5.我们关闭samba里关于访问家目录的布尔类型

1.setsebool samba_enable_home_dirs off

这个时候使用win网络邻居,以用户gentoo登陆后,就不能进入gentoo家目录了

6.我们将它开启就又能访问了,命令如下:

1.setsebool samba_enable_home_dirs on

linux中的selinux到底是什么

一文彻底明白linux中的selinux到底是什么 2018年06月29日 14:17:30 yanjun821126 阅读数 58877 标签: SElinux 更多 个人分类: Linux   一 ...

一文彻底明白linux中的selinux到底是什么

https://www.phpyuan.com/235739.html 一.前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内 ...

Linux中的SELinux详解--16

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

LINUX中错误 SELinux is disabled

解决: setenforce: SELinux is disabled 那么说明selinux已经被彻底的关闭了 如果需要重新开启selinux,请按下面步骤: vi /etc/selinux/con ...

Linux中samba服务器的搭建

使用的vmware12虚拟机安装的centos6.8和物理机上的windows10,实现在windows10 上访问CentOs上的samba服务. 一.先查看系统中是否安装有samba服务相关的软件 ...

linux中Samba服务器的配置

Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件 ...

Redhat Enterprise Linux中如何关闭SELinux?

转自http://www.cnitblog.com/lywaml/archive/2005/06/21/468.html 红帽企业 Linux 4 包括了一个 SELinux 的实现.SELinux ...

如何在Linux中搭建禅道8.4.1(httpd+php+mysql)

1.安装httpd 命令:yum install httpd 然后一路y即可 2.安装php 命令:yum install php   3.安装php-mysql 命令:yum install php ...

linux 中/proc 详解

proc 文件系统 在Linux中有额外的机制可以为内核和内核模块将信息发送给进程-- /proc 文件系统.最初设计的目的是允许更方便的对进程信息进行访问(因此得名),现在它被每一个有有趣的东西报告 ...

随机推荐

Delphi DLL的创建、静态及动态调用

转载:http://blog.csdn.net/welcome000yy/article/details/7905463 结合这篇博客:http://www.cnblogs.com/xumenger/ ...

五大要求让BPM与企业对接

BPM(即业务流程管理)在中国已经有多年的发展历史,但人们经常提到的还是企业对流程的迫切需要,鲜有人讨论什么样的企业才能实施BPM,或者换句话说BPM的本身对企业有什么要求.不是所有的工作都适合BPM ...

Remove a Driver Package from the Driver Store

http://technet.microsoft.com/en-us/library/cc730875.aspx Determine the name of the driver package in ...

cocos2d-x lua table数据存储

cocos2d-x lua table数据存储 version: cocos2d-x 3.6 1. 将table转为json http://blog.csdn.net/songcf_faith/art ...

Computer Vision Applied to Super Resolution

Capel, David, and Andrew Zisserman. "Computer vision applied to super resolution." Signal ...

Ansible-----include

什么是include 在ansible中,我们可以通过include,在一个playbook中包含另一个文件,以便实现代码的重复利用. include_tasks模块 include_tasks模块用 ...

高并发秒杀系统--Service事务管理与继承测试

[Spring IoC的类型及应用场景]  [Spring事务使用方式] [Spring事务的特性] [Spring事务回滚的理解] [Service声明式事务的配置] 1.配置事务管理器 2.配置基 ...

CentOS 6.5 x64下安装宝塔面板、阿里安骑士

一.安装宝塔: CentOS下命令(https://www.bt.cn/bbs/thread-1186-1-1.html) yum install -y wget && wget -O ...

Linux 开启端口命令

编者按 今天在配置Zookeeper集群的时候,碰到下面的问题: 这里说明是主机192.168.116.129:3888没有连通. 首先ping了一把,是通的,说明主机之间是连通的,然后再检查开放的端 ...

《转》python学习--基础下

转自http://www.cnblogs.com/BeginMan/archive/2013/04/12/3016323.html 一.数字 在看的时候,我就有点 ...

chcon mysql_Linux中的SELinux与chcon以及Samba实现【转】相关推荐

  1. Linux中的SELinux与chcon以及Samba实现【转】

    一.SELinux SElinux的前身是NSA(美国国家安全局)发起的一个项目.它的目的是将系统加固到可以达到军方级别. 为什么NSA选择Linux呢? 在目前市面上大多数操作系统都是商用闭源的,只 ...

  2. Linux中的selinux

    #1.selinux 内核级加强型防火墙 1)针对文件,会对系统中每个文件添加安全上下文(context) 2)针对进程,会对系统中的每个进程添加安全上下文(context) 3)会在系统服务上设定s ...

  3. linux 7 没有权限访问,技术|RHCSA 系列(十三): 在 RHEL 7 中使用 SELinux 进行强制访问控制...

    RHCSA 认证:SELinux 精要和控制文件系统的访问 尽管作为第一级别的权限和访问控制机制是必要的,但它们同样有一些局限,而这些局限则可以由安全增强 Linux(Security Enhance ...

  4. Linux中的SELinux详解--16

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

  5. linux中samba启动不了,Linux_RHEL5中不用关闭SELinux而成功启动Samba,RHEL5中的samba服务器启动后,能 - phpStudy...

    RHEL5中不用关闭SELinux而成功启动Samba RHEL5中的samba服务器启动后,能看到共享目录,但是不能访问共享目录,告知权限不够.此时可以通过如下命令: tail /var/log/m ...

  6. Linux桌面需要强制访问控制,RHCSA 系列(十三): 在 RHEL 7 中使用 SELinux 进行强制访问控制...

    RHCSA 认证:SELinux 精要和控制文件系统的访问 尽管作为第一级别的权限和访问控制机制是必要的,但它们同样有一些局限,而这些局限则可以由安全增强 Linux(Security Enhance ...

  7. Linux中关闭SELinux的方法

    Linux中关闭SELinux的方法 1.临时关闭:输入命令setenforce 0,重启系统后还会开启. 2.永久关闭:输入命令vi /etc/selinux/config,将SELINUX=enf ...

  8. linux中的selinux到底是什么,本篇文章彻底明白

    原文链接https://www.phpyuan.com/235739.html,本文加以修改,若有侵权,请联系删除 一.前言 安全增强型 Linux(Security-Enhanced Linux)简 ...

  9. android+关闭selinux权限问题,快速解决Android中的selinux权限问题【转】

    在Android开发的过程中,遇到关于selinux相关的东西,当时还一下子看不懂,现在好像有点眉目了. 比如,内核打印这个提示 type=1400 audit(32.939:25): avc: de ...

最新文章

  1. 事件总线第一次点击_用户体验研究指南3-3第一次点击测试
  2. OPENCV-2 学习笔记
  3. 解决将Ubuntu下导出的requirements.txt到Centos服务器上面出现pkg-resource的版本为0.0.0...
  4. angularjs input标签用一个日期插件后数据不能双向绑定了_微信如何定时发朋友圈?(最方便最好用的办法!)...
  5. Windows下Java调用BAT批处理不弹出cmd窗口
  6. 书籍:Python游戏开发 Game Development Using Python - 2019.pdf
  7. 11.find 查找并复制文件
  8. 高电压与绝缘技术方向,代做EMTP,ATP输电线路防雷仿真
  9. 计算机微积分基础试题及答案,试题及答案_基础微积分Ⅱ_大学网课答案
  10. spss系列——一元线性回归的分析与预测实例
  11. 《数学之美》读书笔记和知识点总结
  12. 合天网安实验室CTF-Web100-Give Me Flag
  13. (搞笑)经典!一些很彪悍的句子
  14. Scala学习小计 - 什么是模式匹配(pattern-matchin)?
  15. 推荐系统的混合加权技术研究
  16. android手机几大厂商排行榜,各大手机厂商的核心产品UI排行榜出炉
  17. 第十一届蓝桥杯大赛软件类省赛第一场真题-Java语言B组
  18. 简谈python正则表达式
  19. ubuntu 16.04 安装anaconda tensorflow opencv keras openslide-python pycharm
  20. PPC扑克牌游戏开发实录 第一篇 之 全屏

热门文章

  1. Android Studio 与 Tomcat 交互案例(新)
  2. swift5保存图片到系统的相机胶卷里面
  3. 在Visual Studio 中找不到Microsoft Word 11.0 Object Library的解决办法
  4. react中的setState详解
  5. 详解支撑7亿用户搜索的百度图片处理收录中台
  6. zuul网关转发丢失头信息问题
  7. 平安推出智能保险云:AI+大数据加持的保险科技怎么玩?
  8. 人工智能知识全面讲解:线性支持向量机
  9. 【精品】12条核心知识带你了解机器学习
  10. 我今年48岁,想提前辞职,不知道50岁时能不能退休?