首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在 CentOS 8 上禁用 SELinux

如何在 CentOS 8 上禁用 SELinux

作者头像
雪梦科技
发布于 2020-05-11 09:04:12
发布于 2020-05-11 09:04:12
4.3K01
代码可运行
举报
文章被收录于专栏:ITCoderITCoder
运行总次数:1
代码可运行

Security Enhanced Linux 或者 SELinux 是一个安全机制,广泛内置于 RHEL 系列版本的 Linux kernel 中。

SELinux 给系统添加了一个额外的安全层,它允许管理员和用户基于政策规则控制对对象的访问。

SELinux 政策规则指定进程和用户如何相互交互,以及进程和用户如何与文件交互。 如果没有明显的规则允许对一个对象的访问,例如:一个进程要打开一个文件,这个访问是被禁止的。

SELinux 有三个操作模式:

  • Enforcing: SELinux 允许基于 SELinux 政策规则的访问
  • Permissive: 如果 SELinux 运行在 enforcing 模式,那么 SELinux 仅仅记录被禁止动作的日志。这个模式在调试和创建新政策规则的时候很有用处。
  • Disabled: 不加载任何 SELinux 政策,不记录任何信息。

CentOS 8 中,SELinux 默认被启用,并且处于 enforcing 模式。强烈推荐将 SELinux 保持在 enforcing 模式。当然,有时候它可能打扰到一些应用的运行,并且你需要将它设置成 permissive 模式或者完全禁用它。

在这篇教程中,我们将会讲解如何在 CentOS 8 上禁用 SELinux。

一、前提条件

仅仅 root 用户或者有 sudo 权限的用户才能修改 SELinux 模式。

二、检查 SELinux 模式

使用sestatus命令来检查 SELinux 运行状态以及运行模式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sestatus
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      31

上面的输出显示,SELinux 被启用,并且设置在 enforcing 模式。

三、 修改 SELinux 模式到 Permissive

当被启用的时候,SELinux 可以被设置成 enforcing 或者 permissive 模式。通过下面的命令,你可以临时将模式修改为 permissive:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo setenforce 0

不管怎样,这个修改仅仅对于当前运行的会话有效,并且不会持久化,重启后失效。

想要永久的将 SELinux 模式设置成 permissive 模式,请按照下面的步骤来:

01.打开/etc/selinux/config文件,并且将SELINUX模式设置成permissive:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

02.保存文件,并且运行setenforce 0命令,将当前 SELinux 模式修改成 permissive。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo shutdown -r now

四、禁用 SELinux

相比于禁用 SELinux,我们强烈你推荐将模式修改为 permissive。 仅仅在你的应用良好运行的情况下,才能禁用 SELinux。

执行下面的步骤,才能在你的 CentOS 8 系统上永久的禁用 SELinux:

01.打开/etc/selinux/config文件,并且将SELINUX值修改为disabled:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

2.保存文件,并且重启系统:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo shutdown -r now

03.当系统重启后,使用sestatus命令来验证 SELinux 是否已经被禁用了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sestatus

输出将会像这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELinux status:                 disabled

五、总结

SELinux 是一个通过实现强制访问控制(MAC)来保证系统安全的机制。SELinux 在 CentOS 8 系统上默认被启用,但是它也能通过编辑配置文件并且重启系统进行禁用。

想要了解更多关于 SELinux 的强大特性,请浏览:CentOS SELinux guide

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年12月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何在CentOS 8上禁用SELinux
SELinux或Security-Enhanced Linux是提供访问控制安全策略的机制或安全模块。 简而言之,它是一项功能或服务,用于将用户限制为系统管理员设置的某些政策和规则。
用户8710643
2021/06/11
1.5K0
CentOS 7.X 关闭SELinux
1、查看[root@dev-server~]#getenforceDisabled[root@dev-server~]#/usr/sbin/sestatus-vSELinuxsta
Java架构师必看
2021/12/24
1.7K0
如何更改SELinux模式
Security Enhanced Linux是一个Linux安全模块,用于强制或基于角色的访问控制。SELinux默认与CentOS和Fedora打包在一起,可以以三种模式之一运行:禁用、允许或强制执行。
温浪
2018/08/20
5K0
centos 7关闭selinux
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126469.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/23
1.9K0
SELINUX设置
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux 历史上最杰出的新安全子系统。但是一般都不用它,因为它管的东西太多了,想做安全可以用防火墙等其他措施。
Li_XiaoJin
2022/06/12
3.4K0
SELINUX设置
了解如何关闭selinux[通俗易懂]
1.查看SELinux状态 1.1 getenforce getenforce 命令是单词get(获取)和enforce(执行)连写,可查看selinux状态,与setenforce命令相反。 setenforce 命令则是单词set(设置)和enforce(执行)连写,用于设置selinux防火墙状态,如: setenforce 0用于关闭selinux防火墙,但重启后失效
全栈程序员站长
2022/09/14
3.2K0
SELinux: Could not downgrade policy file
在配置nfs服务器,设定selinux时,碰到了SELinux: Could not downgrade policy file的错误提示,下文是其解决方案。
Leshami
2018/08/13
1.4K0
SELinux: Could not downgrade policy file
在配置nfs服务器,设定selinux时,碰到了SELinux: Could not downgrade policy file的错误提示,下文是其解决方案。
全栈程序员站长
2022/07/07
5690
VMware下Centos7快速搭建vsftpd
思索
2024/08/16
990
VMware下Centos7快速搭建vsftpd
%E5%8C%85%E5%AD%90
使用systemctl status firewalld查看防火墙的状态,如下(默认开启)
知忆
2021/06/11
5740
polkit启动失败_zabbix4.4 启动失败分析
zabbix是基于WEB界面提供分布式系统监视以及网络监视功能的企业级开源解决方案,能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
全栈程序员站长
2022/06/25
3.3K0
Linux 中 Samba 部署
冷影玺
2023/10/11
7210
Linux 中 Samba 部署
Linux的基本优化
selinux 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux 主要由美国国家安全局开发。它的主要 作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。也由于它的这个原则,导致我们很多操作无法正确的执行,所以对于初学者而言在会用selinux之前我们要把这个子系统关闭
星哥玩云
2022/09/15
1.3K0
Linux的基本优化
linux常用命令(防火墙)
在部署和配置集群的时候,集群中的多台服务器需要通信,对于一些复杂的应用,例如consul、hadoop等,往往是客户端通信占用一个端口、Web UI占用一个端口、集群内的主机之间通信占用一个或多个端口。这样在测试环境部署的时候,如果启用防火墙,往往会因为漏掉放行某台服务器的某个端口,而造成连接失败。
张子阳
2018/09/28
3K0
CentOS7 Samba服务安装实现目录共享
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件。由服务器及客户端程序构成,可实现Linux目录共享,然后再Windows系统中链接访问共享目录。
子润先生
2021/06/23
1K0
Prometheus安装
安装环境: Linux centos7 minimal 虚拟机; 宿主主机 MacOS; 软件: virtualBox 6.0.10 r132072
suveng
2019/09/17
3K0
Prometheus安装
大数据之基础环境配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
张哥编程
2024/12/07
1060
Mysql报错:InnoDB: Operating system error number 13 in a fil..的解决方法
查看日志后可以看到日志中的ERROR信息,不懂的地方可以翻译一下,方便理解,寻找有用的信息。
非著名运维
2022/06/22
1.6K0
解锁高效部署!快速搭建Kubernetes集群,提升团队生产力!
从 docker 下载 docker-desktop (opens new window),并完成安装
JavaEdge
2023/07/09
4110
解锁高效部署!快速搭建Kubernetes集群,提升团队生产力!
安装Docker-使用YUM
Docker运行在CentOS7上,要求系统为64位、系统内核版本为3.10以上。
郑郑SunUp
2025/01/08
2510
相关推荐
如何在CentOS 8上禁用SELinux
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档