Linux—selinux的初级管理

文章目录

  • 一.什么是selinu
  • 二.selinux的三种模式
  • 三.如何管理selinux级别
  • 四.如何更改文件安全上下文
  • 五.httpd服务共享文件安全上下文管理实验

一.什么是selinu

Selinux,内核级加强型防火墙。SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统。对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的,这是一种基于内核的安全系统。

二.selinux的三种模式

Enforcing 强制(强制模式)— SELinux 策略强制执行,基于 SELinux 策略规则授予或拒绝主体对目标的访问
Permissive 宽容(警告模式)— SELinux 策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志
Disabled 禁用(关闭模式)— 完全禁用SELinux

三.如何管理selinux级别

  • 在配置文件/etc/sysconfig/selinux中修改第7行配置信息即可,因为selinux是基于内核的安全系统,所以在设置完成后需要重启内核即重启电脑才可以生效。
selinux=disabled		##关闭状态
selinux=Enforcing		##强制状态
selinux=Permissive		##警告状态

Linux—selinux的初级管理_第1张图片

  • getenforce查看selinux状态
    setenforce 0|1修改selinux运行级别,在selinux开启时,可以设置selinux状态,但是只能设置0和1两种,即警告模式或者强制模式
    Linux—selinux的初级管理_第2张图片

四.如何更改文件安全上下文

selinux会在目录和文件上留下上下文标记

  • 输入ls -Z可以查看安全上下文
    Linux—selinux的初级管理_第3张图片
  • 临时修改上下文
    chcon -t 安全上下文 文件
  • 永久更改

输入semanage fcontext -l可以列出内核安全上下文列表内容
实现安全上下文永久更改
semanage fcontext -a -t 安全上下文 文件
restorecon -FvvR 文件所在目录

五.httpd服务共享文件安全上下文管理实验

该实验需要在selinux开启的情况下进行操作
Linux—selinux的初级管理_第4张图片

  • 首先需要安装httpd服务
    yum install httpd -y
    Linux—selinux的初级管理_第5张图片
    安装成功如下
    Linux—selinux的初级管理_第6张图片
  • 开启httpd服务,设为开机自启;关闭防火墙服务,并设为开机不启动
    Linux—selinux的初级管理_第7张图片
    在 /var/www/html/目录下的内容可以通过浏览器访问到,因此我们在该目录下创建一个html文件
    hostname > /var/www/html/hello.html
    将hostname的返回值写入到文件中,然后用浏览器访问,如下:
    Linux—selinux的初级管理_第8张图片
    然后我们尝试在/mnt/目录下也创建一个 html文件,然后将它移动到 /var/www/html/目录下,看看浏览器是否可以访问到,如下:
    date +%F > /mnt/westos.html
    mv /mnt/westos.html /var/www/html/
    第一条命令即将当前日期写入到 westos.html 文件中去,尝试通过浏览器访问该文件可以发现访问被禁止,并不能成功访问:
    Linux—selinux的初级管理_第9张图片
    因为文件的安全上下文不同导致的访问被禁止,因此我们需要更改文件的安全上下文即可解决该问题。
    上面有两种更改方式,分别进行测试:
  • 临时更改
    用 ls -Z 查看/var/www/html/目录中的文件的安全上下文:
    Linux—selinux的初级管理_第10张图片
    可以看到它们的安全上下文的类型是不同的,则需要把 westos.html 文件的改成和 hello.html一样的:
    chcon -t httpd_sys_content_t /var/www/html/westos.html
    Linux—selinux的初级管理_第11张图片
    通过上面方式更改之后,重启系统安全上下文又会改为之前的,属于临时更改。
  • 永久更改
    用下面命令永久更改安全上下文:
    semanage fcontext -a -t httpd_sys_content_t /var/www/html/westos.html
    更改完之后还需要执行下面的命令刷新目录,重新读取安全上下文:
    restorecon -FvvR /var/www/html/
    Linux—selinux的初级管理_第12张图片
    通过以上步骤就可以实现永久更改文件的安全上下文了。

你可能感兴趣的:(Linux)