当前位置: 代码网 > 服务器>服务器>Linux > 开启Selinux遇到的坑及解决

开启Selinux遇到的坑及解决

2024年05月18日 Linux 我要评论
事故起因由于selinux会限制部分系统资源访问权限,所以很多开发者很喜欢禁用selinux,在布署程序的自动化角本中,也默认加入了禁用selinux的代码。这样会导致用户在安装centos7的计算机

事故起因

由于selinux会限制部分系统资源访问权限,所以很多开发者很喜欢禁用selinux,在布署程序的自动化角本中,也默认加入了禁用selinux的代码。

这样会导致用户在安装centos7的计算机上所有帐号都无法登录(包括root),但使用securecrt等软件连ssh却可以正常登录。

这还是会造成较大风险,一旦网络环境变化,该机器就会变成一个谁都无法登录的机器。

开启selinux

实例上运行以下命令,编辑selinux的config文件。

vi /etc/selinux/config

找到selinux=disabled,按i进入编辑模式,通过修改该参数开启selinux。

您可以根据需求修改参数,开启selinux有以下两种模式:

  • 强制模式selinux=enforcing:表示所有违反安全策略的行为都将被禁止。
  • 宽容模式selinux=permissive:表示所有违反安全策略的行为不被禁止,但是会在日志中作记录。

修改完成后,按下键盘esc键,执行命令:wq,保存并退出文件。

**说明:**修改config文件后,需要重启实例,但直接重启实例将会出现系统无法启动的错误。因此在重启之前需要在根目录下新建autorelabel文件。

在根目录下新建隐藏文件autorelabel,实例重启后,selinux会自动重新标记所有系统文件。

touch /.autorelabel

验证selinux状态

运行命令getenforce,验证selinux状态。

返回状态应为enforcing或者permissive,本教程当前状态为enforcing。

运行命令sestatus,获取更多selinux信息。

1

参数信息selinux status显示为enabled,表示selinux已启动。

关闭selinux

1.运行命令getenforce,验证selinux状态

  • 返回状态如果是enforcing,表明selinux已开启。

2.选择临时关闭或者永久关闭selinux。

  • 执行命令setenforce 0临时关闭selinux。
  • 永久关闭selinux。

a.运行以下命令,编辑selinux的config文件。

vi /etc/selinux/config

b.找到selinux=enforcing,按i进入编辑模式,将参数修改为selinux=disabled

修改完成后,按下键盘esc键,执行命令:wq,保存并退出文件。

当selinux选permissive(宽容模式)后,系统认为selinux有效,就能正常登录。

而且,对系统资源的管控也只是打印警告信息,不作实质性的限制,在开发者非要关闭selinux的情况下,我们可以用permissive模式代替disabled,不会影响程序的正常运行。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com