你好,游客 登录 注册 搜索
背景:
阅读新闻

SELinux安全上下文初探

[日期:2014-04-04] 来源:Linux社区  作者:abc16810 [字体: ]

开启我们的SELinux,我在安装linux系统时将它禁用了,但是开启selinux后,可能会对我们的一些服务有些限制功能,比如你可能不能正常访问网页、ftp等等,下面就对这些问题通过设置SELinux来解决这些问题

1、如果你的SELinux没用启动的话,有以下几种启动的方法

不可用状态

开启SELinux

Vim /etc/sysconfig/selinux 如下:

或者用图形化界面修改命令为 system-config-selinux 或 system-cofig-securitylevel 将SELinux设置为“强制”

以上三种方法必须重新启动计算机后SELinux才能生效。

2、当我们将SELinux设置为“强制”模式后,我们更改httpd.conf里的根目录以后,会发现,httpd重启不了,老失败、、、、

这里将根目录改为如下:

DocumentRoot "/www"

mkdir /www

echo "123" > /www/index.html

重启httpd时,报错了,重启不了,查看日志发现如下:

Dec 23 11:33:03 localhost setroubleshoot: SELinux is preventing access to files with the default label, default_t. For complete SELinux messages. run sealert -l 511c4eda-797d-4b79-a1e3-51477afed4e6

按照日志的提示我们允许sealert -l 511c4eda-797d-4b79-a1e3-51477afed4e6命令 有以下信息

源上下文和目标上下文的类型 不同,httpd 无法对default_t类的文件及目录的读取,所以启动不了,修改为httpd能够读取的类型

httpd能够读取什么样的类型呢,通过如下一些命令查看

命令 ll -Z 目录或文件

或者是命令 semanage fcontext -l | grep http

从上边我们可以看到httpd 能读取的类型是 httpd_sys_context_t的类型

好了知道了这个类型,我们就把/www这个目录改成这个类型 命令有chcon(change context)或者restorecon 用法如下:

chcon -R --reference=/var/www/html/ /www/ 或者chcon -t httpd_sys_content_t /www/

改回原来的类型用 restorecon -v -R /www

Httpd正常启动了,并且也能访问到index.html网页

重启httpd报错时。除了参看日志外还可用以下命令排错

sealert -b 或者是图形界面下右上角的

单击小星星

linux
相关资讯       SELinux 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款