一、基本selinux安全性概念

selinux(安全增强型linux):内核级的加强形火墙,内核上的插件,改变后要重启。
selinux是可保护系统安全性的额外机制。在某种程度上,它可以被看作是与标准权限系统并行的权限系统。在常规模式中,以用户身份运行进程,并且系统上的文件和其他资源都设置了权限标签(控制哪些用户对哪些文件具有哪些访问权,selinux的另一个不同之处在于,若要访问文件必须具有普通访问权限和selinux访问权限。因此,即使以超级用户身份运行程序,根据进程以及文件或资源的selinux安全性上下文可能拒绝访问文件或资源)

二、selinux的三种模式

enforcing 强制模式,selinux 主动拒绝访问尝试读取类型上下文为tmp_t的web服务器。在强制模式中,selinux既记录冲突,也强制执行规则
permissive 宽容模式,通常对于对问题进行故障排除。在许可模式下,即使没有明确规则,selinux也允许所有交互,并且记录所有被拒绝的交互。此模式可以用于确定你是否有selinux问题。无需重新引导即可从强制模式转为许可模式,或者从许可模式转向强制模式
disable 不警告不拒绝/关闭状态

selinux工作模式的设定:

情况一: disable与enforcing或者permissive的切换

第一步:查看,并且进入配置文件

 [root@localhost Desktop]# getenforce                    ###查看selinux状态  Enforcing                       [root@localhost Desktop] vim  /etc/selinux/config       ###进入配置文件


第二步:配置文件如下

第三步:重启系统后再次查看

注意: disable与enforcing或者permissive的切换需要重启系统,否则不生效

情况二: enforcing与permissive的相互切换,此情况是不需要重启系统的,如下图所示:

[root@localhost Desktop]# getenforce                    ###查看selinux状态  Enforcing                                              ###强制模式
[root@localhost Desktop]# setenforce 0                  ###开启
[root@localhost Desktop]# getenforce                    ###查看selinux状态
Permissive                                              ###宽容模式
[root@localhost Desktop]# setenforce 1                  ###关闭
[root@localhost Desktop]# getenforce                    ###查看selinux状态
Enforcing                                               ###强制模式

注意: 如果系统在关闭(disable)SElinux的状态下运行了一段时间,
在打开SElinux之后的第一次重启速度可能比较慢,因为系统必须为磁盘中的文件创建安全上下文。

三、selinux对服务、进程以及文件的影响

  1. 针对文件,会对系统中每个文件添加安全上下文(context)
  2. 针对进程,会对系统中的每个进程添加安全上下文(context)
  3. 会在系统服务上设定sebool开关
  4. 当进程安全上下文和文件的安全上下文不匹配时,那么进程无法访问此文件
  5. sebool会限制服务的不安全功能,如果需要用此功能,必须调整sebol值

当selinux状态为enforcing时:


lftp看不见移动到默认访问目录下的文件westosfile
当我们用ls -Z查看文件的标签,发现hhh文件的安全上下文不同

当selinux状态为disabled时:

lftp可以看见移动到默认访问目录下的文件gao

总结:当selinux为enforcing时,它会给系统中的文件,进程,服务添加安全上下文,相对应的能访问,不对应的无法访问

四、修改安全上下文

1. 临时修改安全上下文

chcon -t  安全上下文  文件/目录

文件安全上下文:

lftp访问,访问不到,如下所示:

临时目录文件安全上下文:

建立新的目录,查看其安全上下文,并将其修改为vsftpd匿名用户的默认访问目录

配置文件如下所示:

重启服务,再次查看,发现lftp查看不到,如下所示:


临时更改目录的安全上下文,并用lftp查看,发现之前文件和新建文件都可以看见,如下:


重启selinux,如下:


reboot重启系统,再次进入配置文件进行设置,如下所示:

查看目录安全安全上下文,发现恢复原本

因此,证明安全上下文更改是临时的

2. 永久修改安全上下文

由于某些安全上下文被系统记录着,所以是永久的

semanage fcontext -l            ##查看
semanage fcontext -a -t public_content_t '/ftpdir(/.*)?'      ##更改系统记录的安全上下文
restorecon -RvvF /ftpdir/       ##使目录本身的安全上下文也




用lftp查看,可以查看到,如下:

五、修改selbool值

用student上传文件:
1.在真机上连接167,上传文件发现不能上传,出现553报错,如下所示:

2.查看并开启服务功能,如下所示:

3.再次上传,发现上传成功

匿名用户上传:
1.修改文件的权限,并进行配置文件


2. 开启服务,如下图所示:

3. 使默认家目录子目录可写

4. lftp检测

注意: sebool会限制服务的不安全功能,如果需要用此功能,必须调整sebool值

六、selinux提供解决方案

1.首先在/mnt里建立一个文件,然后将文件移动到/var/ftp下

2. lftp查看不到文件

3. 为了保证实验环境纯净,将日志清空

4.查看日志,发现没有解决方法,如下图所示:

4. 发现selinux提供了一个解决问题的软件包,并且将软件包安装
<1>搜索软件包


<2> 安装软件包


5. 清空日志,再次查看,出现解决方案



6. 按照上一步解决方案处理,如下所示:

7.再次查看,出现文件ppp

Linux SElinux相关推荐

  1. Linux selinux入门

    如果你在之前的Linux生涯中都禁用或忽略了SELinux,这篇文章就是专门为你写的:这是一篇对存在于你的Linux桌面或服务器之下的SELinux系统的介绍,它能够限制权限,甚至消除程序或守护进程的 ...

  2. linux selinux策略管理与标签

    文章目录 1. selinux 策略 2. selinux标签协议 1. selinux 策略 #打开80/tcp .443/tcp端口 firewall-cmd --permanent --add- ...

  3. CentOS Linux SELinux 安全上下文错误引起的宕机故障

    (首发:学习日记 CentOS Linux SELinux 安全上下文错误引起的宕机故障 – 学习日记 ) 在某些情况下,我们会用一些外部的文件复制替换系统中原有的文件,如文件损坏,或者安装了错误版本 ...

  4. linux selinux 安全子系统简介

    一.前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统. SELinux 主要由美国 ...

  5. se linux ll-z,Linux selinux 基础

    一.SELinux简介 SELinux(Secure Enhanced Linux)安全增强的Linux是由美国国家安全局NSA针对计算机基础结构安全开发的一个全新的Linux安全策略机制.SELin ...

  6. Linux selinux关闭方法和防火墙关闭方法

    摘自:http://blog.chinaunix.net/space.php?uid=23842323&do=blog&id=2656529 在Linux下设置selinux有三种方法 ...

  7. Linux -- SELinux配置及应用(1)

    一.SELinux 与强制访问控制系统 SELinux 全称 Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Access Control, ...

  8. linux——selinux强制访问,监控selinux冲突,修改http服务的端口标签

    一.selinux #内核级的加强型防火墙 #针对文件的时候,会对系统中每个文件添加安全上下文 #针对进程的时候,会对系统中每个进程添加安全上下文 selinux是强制访问控制的一种策略,可以指明某一 ...

  9. linux selinux 关闭保存 centos,CentOS 8 禁用 SELinux 教程

    导读 SE 或Security-Enhanced Linux是提供访问控制安全策略的机制或安全模块. 简而言之,它是一项功能或服务,用于将用户限制为系统管理员设置的某些政策和规则. 在本主题中,您将学 ...

最新文章

  1. ExtJs中column与form布局的再次领悟
  2. BZOJ 3203 Luogu P3299 [SDOI2013]保护出题人 (凸包、斜率优化、二分)
  3. 文本分类数据集_181个NLP教程,481个文本数据集,Colab一键直达,无需环境配置...
  4. python3 xml 取标签显示内容_如何应用“XML+XSLT”技术分离Web表示层数据和样式
  5. leetcode869. 重新排序得到 2 的幂
  6. java8 block_java8的CompletableFuture使用实例
  7. Linux 局域网路由新手指南:第 2 部分
  8. 工信部:2020年启动5G商用
  9. linux常用命令和关闭防火墙
  10. 基于GAN的手写数字生成实践
  11. 从高德地图获取城市地铁线路+站点
  12. 关于如何修复任务栏图标变白色的问题
  13. 数组中a与a[0]的区别
  14. 女子发现前夫外遇索要2000万
  15. 【操作系统】操作系统极速入门
  16. JS小知识,如何将 CSV 转换为 JSON 字符串
  17. 手写K-Means(K均值聚类的python实现)
  18. Spring Boot Controller
  19. 计算机考试准考证尺寸标准
  20. Arbitrage题解

热门文章

  1. ASP.Net学习笔记010--加法计算器
  2. 可视化model 参数
  3. kafka消费者脚本无法启动问题
  4. 几种常用HTML5移动应用框架的比较
  5. c++ fstream类详解
  6. Maven STS创建WEB项目
  7. linux nsf 扫描,linux 使用NSF 映射远程磁盘目录的实现
  8. android 蓝牙连接obd,Android蓝牙连接汽车OBD设备
  9. python赋值运算符难理解_零基础学 Python(8)运算符 — 算术、比较、赋值、逻辑...
  10. 详细叙述ajax的详情,ajax的配置详情、ajax的调用解释、ajax的中文乱码和ajax的表单提交(内有实例)...