热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux中的selinux管理

linux中的selinux管理1selinux的状态及管理2selinux对程序和文件的影响2.1当Selinux未开启时2.2selinux处于关闭状态3修改安全上下文4set

linux中的selinux管理

  • 1 selinux的状态及管理
  • 2 selinux对程序和文件的影响
    • 2.1 当Selinux未开启时
    • 2.2 selinux处于关闭状态
  • 3 修改安全上下文
  • 4 setboot
  • 5 selinux对端口号的影响
  • 6 selinux排错


1 selinux的状态及管理
  • selinux的配置文件:/etc/sysconfig/selinux

  • selinux日志位置:/var/log/audit/audit.log

  • selinux的状态
    (1)selinux开启状态:enforcing 强制状态 ;permissive 被动状态
    (2)selinux关闭状态:disabled

  • 当selinux开启时,enforcing与permissive之间可以通过setenforce切换:

    切换到permissive被动状态:setenforce=0,不符合条件被允许,并会收到警告信息切换到enforcing强制状态:setenforce=1,不符合条件一定不能被允许,并会收到警告信息

  • selinux开启和关闭状态可以在配置文件中修改,但是更改配置文件和必须重启系统才能生效


2 selinux对程序和文件的影响

实验前的准备:

  • 开启vsftpd服务: systemctl start vsftpd
  • 在vsftpd中开启匿名访问和上传文件: /etc/vsftpd/vsftpd.conf

2.1 当Selinux未开启时


  • 在/mnt中建立文件,移动到/var/ftp下可以被vsftpd服务访问
  • 匿名用户可以通过设置后上传文件
  • 当使用ls -Z /var/ftp查看文件时显示"?"

在这里插入图片描述

在这里插入图片描述

2.2 selinux处于关闭状态


  • 关闭selinux,在配置文件中修改:/etc/selinux/config

在这里插入图片描述

  • 在配置文件中切换selinux开启和关闭状态时,必须重启系统reboot:

在这里插入图片描述
1. selinux在强制状态时

  • 查看selinux的状态:getenforce

在这里插入图片描述

  • 新建文件/mnt/westos1,将该文件移动到目录:/var/ftp/pub
    westos1文件存在于目录/var/ftp/pub中,登陆ftp,进入pub目录后看不到westos1

在这里插入图片描述

  • 匿名用户不能上传文件

在这里插入图片描述

2. selinux在被动状态时

  • 切换selinux的状态为被动状态:setenforce 0
  • 查看selinux的状态:getenforce

在这里插入图片描述

  • 匿名用户上传文件生效:

在这里插入图片描述

  • 新建文件/mnt/westos2,将该文件移动到目录:/var/ftp/pub
    westos2文件存在于目录/var/ftp/pub中,登陆ftp,进入pub目录后看不到westos2,是因为westos2的安全上下文和/var/ftp中文件的安全上下文不一致

在这里插入图片描述
在这里插入图片描述

3 修改安全上下文

(1)临时修改安全上下文,此方式更改的安全上下文在selinux重启后会还原

- chcon -t 标签 文件|目录 - chcon -t public_content_t /var/ftp/westosfile1- chcon -Rt public_content_t /westosdir #修改目录及目录中的所有子文件的安全上下文

(2)永久修改安全上下文,如果需要特殊指定安全上下文需要修改内核安全上下文列表

- semanage fcontext -l ##查看内核安全上下文列表 - semanage fcontext -a -t public_content_t '/var/ftp/dir1(/.*)?' ## -a:添加 -t:类型 (/.*)?表示/var/ftp/dir1目录下的所有内容- restorecon -RvvF /var/ftp/dir1 ## 刷新,保存对永久上下文的更改,-R:递归处理目录, -v:将过程显示到屏幕上,-F:强制恢复文件安全语境- vim /etc/sysconfig/selinux ##将selinux关闭- touch /.autorelabel ##重启系统时selinux初始化文件标签开关文件

(3)临时和永久修改安全上下文的对比修改

在这里插入图片描述

  • 更改selinux=disabled,重启系统后查看/mnt目录下file1和file2的安全上下文均为被改变
  • 再次更改selinux=enforing,重启系统后查看/mnt目录下file1的安全上下文被还原,而file2的安全上下文均未被改变

在这里插入图片描述

4 setboot

给/var/ftp/pub 上下文添加写的权限:semanage fcontext -a -t public_content_rw_t /var/ftp/pub刷新:restorecon -R -v /var/ftp/pub 显示ftp服务的bool值: `getsebool -a |grep ftp`实现匿名用户可写,更改ftpd_anon_write的状态:`setsebool -P ftpd_anon_write on`重启ftp服务:systemctl restart vsftpd.service

在这里插入图片描述

5 selinux对端口号的影响

当selinux=enforing,更改服务的端口号,如果更改后的端口号不是该服务允许的端口号,那么将无法重启服务

  • 查看apche服务的端口号:netstat -antlupe | grep http
  • 在配置文件中修改apche的端口号为6666:vim /etc/httpd/conf/httpd.conf
  • 切换selinux的状态为enforing:setenforce 1
  • 重启apche服务:systemctl restart httpd,将出现错误无法重启

在这里插入图片描述
解决方案

  • 默认使用的http端口号:semanage port -l |grep http
  • 为http添加类型为tcp端口号6666:semanage port -a -t http_cache_port_t -p tcp 6666
  • 重启服务:systemctl restart httpd

在这里插入图片描述

6 selinux排错
  • selinux警告信息:/var/log/audit/audit.log
  • selinux警告信息以及解决方案:/var/log/messages

在这里插入图片描述

  • setroubleshoot-server:此软件功能是采集警告信息并分析得到解决方案存放到message中

在这里插入图片描述


推荐阅读
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 如何利用 Myflash 解析 binlog ?
    本文主要介绍了对Myflash的测试,从准备测试环境到利用Myflash解析binl ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Redis API
    安装启动最简启动命令行输入验证动态参数启动配置文件启动常用配置通用命令keysbdsize计算key的总数exists判断是否存在delkeyvalue删除指定的keyvalue成 ... [详细]
  • 第四讲ApacheLAMP服务器基本配置Apache的编译安装从Apache的官方网站下载源码包:http:httpd.apache.orgdownload.cgi今 ... [详细]
  • 进入配置文件目录:[rootlinuxidcresin-4.0.]#cdusrlocalresinconf查看都有哪些配置文件:[rootlinuxid ... [详细]
  • 三、寻找恶意IP并用iptables禁止掉找出恶意连接你的服务器80端口的IP,直接用iptables来drop掉它;这里建议写脚本来运行, ... [详细]
  • 找到JDK下载URL当然去官网找了。目前最新的1.8的下载URL(RPM)如下:http:download.oracle.comotn-pubjavajdk8u161-b122f3 ... [详细]
  • Telnet的使用(Telnet远程连接Linux)
    一、环境描述:客户端:Win10操作系统 ... [详细]
author-avatar
拍友2602909025
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有