你说的 “CentOS Context” 常见有两种理解,我分别说明,你可以对照看看你指的是哪一种。
这是 CentOS / RHEL 中最常见的“Context”概念。
ls -Z
ps -Z
示例:
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html
chcon -t httpd_sys_content_t /var/www/html/index.html
永久修改(推荐):
semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
restorecon -Rv /var/www/html
getenforce
sestatus
⚠️ 生产环境不推荐关闭
临时:
setenforce 0
永久:
vi /etc/selinux/config
SELINUX=disabled
然后重启。
如果你指的是 Podman / Docker / systemd 上下文:
podman context ls
podman context use default
systemctl show httpd | grep Context
例如:
whoami
id
env
| 场景 | 配置方式 |
|---|---|
| Web 目录无法访问 | 检查 httpd_sys_content_t |
| NFS / Samba 权限问题 | 检查 SELinux context |
| 容器无法访问目录 | container_t / volume context |
| 文件被重置 | 用 semanage fcontext |
你可以直接告诉我:
我可以给你 精确到命令级别 的配置方案。