“CentOS context 报错”通常指的是 SELinux 的 context(安全上下文)相关错误,比如文件/目录的 SELinux 标签不对,导致服务无法访问资源。下面按常见情况和解决办法说明。
常见报错示例:
Permission denied(但权限 755 没问题)type=AVC msg=audit(...)
denied { read } for ... scontext=... tcontext=... tclass=...
ls -Z 看到文件 context 异常查看 SELinux 状态:
getenforce
sestatus
如果是 Enforcing,基本就是 SELinux 在管。
ausearch -m avc -ts recent
或
grep AVC /var/log/audit/audit.log
比如 web 目录:
restorecon -Rv /var/www/html
通用:
restorecon -Rv /路径
查看某目录应有的 context:
ls -Zd /var/www/html
设置:
semanage fcontext -a -t httpd_sys_content_t "/data/web(/.*)?"
restorecon -Rv /data/web
允许 httpd 访问:
setsebool -P httpd_can_network_connect on
setsebool -P httpd_read_user_content on
临时关闭 SELinux:
setenforce 0
⚠️ 仅用于排查,生产不建议
例如 /etc/selinux/targeted/contexts 损坏:
fixfiles onboot
reboot
或
touch /.autorelabel
reboot
你可以直接贴:
ls -Z 文件getenforce我可以给你精确命令,不用瞎试。