解决SELinux导致Apache无法访问文件

当Apache在RHEL8服务器上显示'Forbidden'错误并提示SELinux Context不匹配时,通过分析SELinux日志确认问题。为避免影响其他服务,采取生成自定义模块政策的方法,使用`semanage`命令导入配置,从而解决Apache无法访问文件的故障。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

RHEL8服务器安装有Apache做文件访问用,数据卷是/dev/sdb挂载在/nfs下,要从网站访问的内容存在于/nfs/perf-insight/路径下,在Apache默认路径下设有同名软连接即/var/www/html/perf-insight/

访问网站提示“Forbidden”,查询错误日志/var/log/httpd/error_log提示如下:

[Tue Jan 19 16:38:25.344744 2021] [autoindex:error] [pid 6095:tid 139653503821568] (13)Permission denied: [client 10.72.12.63:46114] AH01275: Can't open directory for index: /var/www/html/perf-insight/

检查文件权限无误,检查SELinux Context不匹配:

# ls -lZd /var/www/html/perf-insight
lrwxrwxrwx. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 18 Dec 29 14:48 /var/www/html/perf-insight -> /nfs/perf-insight/
# ls -lZd /nfs/perf-insight
drwxrwxrwx. 5 root root unconfined_u:object_r:unlabeled_t:s0 54 Jan 19 17:22 /nfs/perf-insight

临时关闭SELinux网站可以正常访问,故此确定问题所在。

# setenforce 0
......
# setenforce 1

深入研究

检查SELinux日志:

# tail -n 3 /var/log/audit/audit.log | tee /tmp/audit
type=AVC msg=audit(1611062693.562:138): avc:  denied  {
    read } for  pid=1179 comm=</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值