`
chaoslawful
  • 浏览: 198401 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

CentOS/RHEL上apache的诡异问题(都是浮云)

阅读更多

最近帮同事检查一个apache的问题,现象如下:

  1. 原本配置了多个VirtualHost,DocumentRoot指向/var/www/下不同的子目录,都能正常工作。
  2. 新加了一个VirtualHost,将DocumentRoot指向/home/aa/,重启apache后无法访问该VirtualHost下的内容,提示403 Forbidden,而此时访问原先的几个VirtualHost还是没有问题。
  3. apache错误日志里没有什么奇怪的输出。
  4. 操作系统CentOS 4.x。

首先考虑是不是新加的VirtualHost配置有误导致文件路径映射错误,所以用strace跟了一下apache看它在哪个阶段出问题的,发现apache去访问的文件路径在/home/aa/下,该文件也确实存在,从/home/aa/直到该文件的各级目录都有a+rx权限,apache应该能直接访问。诡异的是,apache进程调用的lstat64调用对/home、/home/aa进行权限检查时都是OK,但对/home/aa下的目标文件进行权限检查时却是EACCESS,让人百思不解。

 

后来才发现原来该系统上未关闭SELinux子系统,而SELinux默认会对apache进程httpd进行若干保护,其中一种就是只允许httpd访问特定路径下的文件,系统默认的/var/www在允许之列,而其他目录都是禁止访问的。解决办法:

  1. 临时关闭SELinux对httpd的保护:
    • setsebool -P httpd_disable_trans 1
    • 重启apache
  2. 永久关闭SELinux子系统:
    • 修改/etc/sysconfig/selinux,将其中的SELINUX=...改为SELINUX=disabled
    • 重启操作系统

 

分享到:
评论
1 楼 cmaxvv 2011-03-09  
selinux确实是个很讨厌的东西~当然for 程序员

相关推荐

    Intel无线网卡在Linux(CentOS/RHEL)下使用

    "Intel无线网卡在Linux(CentOS/RHEL)下使用" Intel无线网卡在Linux(CentOS/RHEL)下使用是一种常见的网络连接方式。为了能够在Linux系统下使用Intel WIFI,我们需要安装相应的驱动程序和配置文件。下面我们将...

    Linux Polkit 权限提升漏洞(CVE-2021-4034)在 CentOS/RHEL 6 修复升级的 rpm 离线包

    Linux Polkit,也称为 PolicyKit...总之,Linux Polkit是系统权限管理的关键组件,而CVE-2021-4034的修复对于维持CentOS/RHEL 6系统的安全性至关重要。及时更新和妥善管理这些组件可以有效地保护服务器免受潜在的攻击。

    Apache2 for Linux

    3. **安全配置**: 通过修改`/etc/apache2/conf-available/security.conf`(Ubuntu/Debian)或`/etc/httpd/conf.d/security.conf`(CentOS/RHEL)来增强服务器的安全性,例如限制HTTP头部信息,禁用目录浏览等。...

    centos7/rhel7 安转samba实现windows的文件共享

    一个centos7/rhel7 系统配置samba服务的教程,特别是实现windows下的share级共享

    http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7

    http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7

    将安装了CentOS/RHEL 6/7的机器转变成路由器的方法

    在CentOS/RHEL 6/7系统上实现路由器功能,主要涉及以下几个关键步骤: 1. 准备工作:首先,需要准备一台安装有CentOS/RHEL 6/7系统的机器,并且该机器需要配置至少两块网卡。一块网卡用来连接内部局域网(LAN),被...

    CentOS 5.3 / RHEL 5.4 安装 Oracle 11gR2

    ### CentOS 5.3 / RHEL 5.4 安装 Oracle 11gR2 知识点 #### 引言与背景 在2009年,Oracle发布了其备受期待的11g Release 2(R2)版本,这标志着Oracle数据库技术的一个重要里程碑。相较于之前的Release 1(R1)...

    在CentOS / RHEL上设置 SSH 免密码登录的方法

    本文会告诉你怎样在 CentOS/RHEL 上设置 SSH 免密码登录。自动登录配置好以后,你可以通过它使用 SSH (Secure Shell)和安全复制 (SCP)来移动文件。 SSH 是开源的,是用于远程登录的最为可靠的网络协议。系统管理...

    CentOS7/RHEL7 pacemaker+corosync高可用集群搭建.pdf

    在本文档中,重点介绍了在CentOS7或RHEL7操作系统环境下,如何搭建基于pacemaker和corosync组件的高可用性(High Availability, HA)集群。集群技术的主要目的是通过冗余配置,确保关键服务的持续可用性和故障转移...

    linux 安装 apache 配置及步骤

    遇到问题时,首先查看日志文件,例如`/var/log/apache2/error.log`(Ubuntu/Debian)或`/var/log/httpd/error_log`(CentOS/RHEL)。根据错误信息,查阅官方文档或在线社区寻求解决方案。 **10. httpd-2.2与httpd-...

    通过yum升级CentOS/RHEL最小化安装的方法

    本文将详细讲解如何通过`yum`工具升级一个最小化安装的CentOS/RHEL系统。 首先,最小化安装的CentOS/RHEL通常只包含基本的运行系统所需的服务和工具,如网络服务、SSH和命令行工具,但缺少许多其他功能和服务。在...

    shellcheck在centOS/redHat下已编译的可执行文件

    shellcheck在centOS/redHat下没有可用的可执行文件或者可以直接编译生成的命令...附件是在centOS/redHat下已编译的可执行文件,理论上可以在其他centOS/redHat平台版本下使用,因编译过程太艰辛曲折,收取10分辛苦分。

    linux64位系统下安装apache2.2的一些心得收集

    Apache的日志文件通常位于`/var/log/apache2`(Ubuntu/Debian)或`/var/log/httpd`(CentOS/RHEL),通过查看这些文件可以帮助诊断和解决问题。 10. **优化性能**: 调整Apache的性能参数,如...

    centos/rhel下实现nginx自启动脚本实例

    总之,创建一个自启动脚本并将其整合到系统服务管理中,可以方便地管理和维护Nginx服务器,确保其在CentOS/RHEL系统上稳定运行。通过遵循上述步骤,你可以有效地实现Nginx的开机自启和自动化管理。

    Linux安装apache

    3. 限制Apache用户访问:通过修改`/etc/apache2/envvars`(Ubuntu/Debian)或`/etc/sysconfig/httpd`(CentOS/RHEL)设置Apache运行用户和组,以提高安全性。 4. 优化性能:根据服务器硬件配置调整Apache的...

    php服务器配置

    在CentOS/RHEL上,确保`php_module`在`/etc/httpd/conf.modules.d/`目录下的`.conf`文件中被加载。 最后,重启Apache服务以应用新的配置: ```bash # Ubuntu/Debian sudo systemctl restart apache2 # CentOS/...

Global site tag (gtag.js) - Google Analytics