位置: 编程技术 - 正文

CentOS 7系统下SELinux阻止MongoDB启动的问题详解(centos7.1)

编辑:rootadmin

推荐整理分享CentOS 7系统下SELinux阻止MongoDB启动的问题详解(centos7.1),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:centos7 ll,centos7 ll,centos7 softwareselection,centos7.6,centos7 7.6,centos7.0,centos7 softwareselection,centos7 softwareselection,内容如对您有帮助,希望把文章链接给更多的朋友!

问题描述:

最近发现了一个问题,在新装的CentOS7上,安装了MongoDB3.4,挂载了一个大的数据盘后,修改/etc/mongo.conf,将配置文件中的log和data目录放在新的数据盘下,并修改文件的访问权限。

改完后的mongo.conf:

文件权限:

执行systemctl start mongod命令后,查看状态发现并没有启动,查看/var/log/message,发现以下错误

从提示中可以看出是SELinux的防护功能,阻止了访问。

SELinux

SELinux的全称是Security Enhanced Linux, 就是安全加强的Linux。在SELinux之前,root账号能够任意的访问所有文档和服务;如果某个文件设为,那么任何用户都可以访问甚至删除;这种方式称为DAC(主动访问机制),很不安全。

DAC 自主访问控制: 用户根据自己的文件权限来决定对文件的操作,也就是依据文件的own,group,other/r,w,x权限进行限制。Root有最高权限无法限制。r,w,x权限划分太粗糙。无法针对不同的进程实现限制。

SELinux则是基于MAC(强制访问机制),简单的说,就是程序和访问对象上都有一个安全标签(即selinux上下文)进行区分,只有对应的标签才能允许访问。否则即使权限是,也是不能访问的。

CentOS 7系统下SELinux阻止MongoDB启动的问题详解(centos7.1)

在SELinux中,访问控制属性叫做安全上下文。所有客体(文件、进程间通讯通道、套接字、网络主机等)和主体(进程)都有与其关联的安全上下文,一个安全上下文由三部分组成:用户(u)、角色(r)和类型(t)标识符。但我们最关注的是第三个部分

当程序访问资源时,主体程序必须要通过selinux策略内的规则放行后,就可以与目标资源进行安全上下文的比对,若比对失败则无法存取目标,若比对成功则可以开始存取目标,最终能否存取目标还要与文件系统的rwx权限的设定有关。所以启用了selinux后出现权限不符的情况时,你就得一步一步的分析可能的问题了。

解决过程:

/var/log/message中的信息看起来比较费劲,里面有一句提示:

根据提示执行:

其中 FILE_TYPE 为以下内容之一:mongod_log_t, mongod_tmp_t, mongod_var_lib_t, mongod_var_run_t, tmp_t, var_lib_t, var_log_t, var_run_t。

然后执行:

上面提示输出中已经包含了,解决方法:

上面命令执行完毕后,就解决了/data/mongodb/log目录的文件权限问题。

同样的方法,再解决/data/mongodb/data和/data/mongodb/run目录的问题。

启动mongod,问题解决。

P.S. 除了上面通过提示信息解决问题外,还有一个比较暴力的方法,直接关闭SELinux,但是不太建议。

上面是临时关闭,如果是永久关闭,就需要编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,但是只有重启后才会发挥作用。

总结

标签: centos7.1

本文链接地址:https://www.jiuchutong.com/biancheng/312085.html 转载请保留说明!

上一篇:Centos7安装和卸载Mongodb数据库的方法(centos7.0安装)

下一篇:MongoDB日常使用的技巧与注意事项汇总(mongodb常用语句)

  • 土增清算问题
  • 小规模纳税人做账要做增值税吗
  • 发票报送失败怎么弄
  • 生育津贴需要连续缴纳社保满一年吗
  • 常见的税收优惠
  • 罚没收入属于
  • 制造业印花税计税,按照去税金额计算
  • 没有抵扣怎么办
  • 收到跨境分红的会计处理怎么做?
  • 超市商品打折怎么算出来
  • 酒店业小规模纳税人可以享受2023年应纳税额抵减政策吗
  • 年末会计做账怎样少交企业所得税呢?
  • 自然灾害造成的存货净损失计入什么科目
  • 出口佣金会计分录
  • 所有者权益与所有者权益合计
  • 保洁属于劳务报酬吗
  • 筹建期发生的费用是放在那个科目
  • 专用发票已认证怎么退回
  • 非正常损失的进项税额如何计算
  • 客户用商品抵应收账怎么做
  • 收到培训内容的英文
  • 苹果mac画图工具
  • linux chcon命令
  • 支付境外设计费合同备案流程
  • PHP:shell_exec()的用法_命令行函数
  • 应收账款怎么做分录
  • thinkphp6开发
  • 有关五险一金的知识
  • 财务费用为负数是好事还是坏事
  • yolo4损失函数
  • 公司买的公文包会计怎么做
  • Node.js安装过程
  • 机器学习中的数学原理——过拟合、正则化与惩罚函数
  • ie11已经为了帮助保护您的计算机而关闭此网页
  • 企业一次性伤残补助金赔偿标准
  • 小规模升级一般纳税人需要多久
  • 股东投资的钱要还给他吗
  • 哪些计入其他收益与营业外收入
  • 什么是进项税转出成本
  • php采集器
  • java删除类
  • 收到员工交来现金怎么入账
  • 美元利息结汇是属于外汇
  • 个体户核定征收超过了怎么办
  • 已计提的城建税有误,怎么办
  • 高新技术企业支付特许权使用费
  • 投资收益在什么科目
  • 政府补助的房子叫什么
  • 银行账跨年一直没做怎么补
  • 坏账准备计提的方法和比例
  • 个税专项扣除住房租金标准
  • 一个会计每个月平均有多少钱
  • vmware如何用
  • win10系统怎么看驱动
  • linux中fi
  • Win10 Build 10565快速预览版为什么有ISO镜像下载地址?
  • win10系统计算器字体大小怎么调
  • mac怎么恢复出厂设置
  • mac如何恢复已删除文件
  • SsAAD.exe - SsAAD是什么进程
  • linux打成zip包
  • win10系统如何创建新用户
  • 使用jquery实现的项目
  • 多媒体播放器使用方法
  • cocos creator构建发布
  • opengl基础知识噪声名词解释
  • javascrapt
  • Node.js中的全局对象有
  • python程序员必读书籍
  • 深入php面向对象、模式与实践第5版 电子书
  • Python3使用requests包抓取并保存网页源码的方法
  • python读入txt
  • django for
  • 全面解析白羊座o型血女
  • 河南查询税务登记怎么查
  • 山东省地税局电话号码
  • 国外寄东西到国内要身份证号码吗
  • 个人所得税怎么扣除
  • 企业代扣代缴个税
  • 投资损失属于所得税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设