CentOS 里 “Context” 通常指 SELinux 安全上下文(Security Context)。下面按最常用、最快的方式给你总结。
chcon -t httpd_sys_content_t /var/www/html/index.html
常用参数:
chcon -R -t httpd_sys_content_t /data/web/
-R递归
-t指定 type(最常见)
semanage fcontext -a -t httpd_sys_content_t "/data/web(/.*)?"
restorecon -Rv /data/web
说明:
semanage fcontext:写入 SELinux 策略数据库(永久)restorecon:应用上下文ls -Z
ps -eZ
| 场景 | Context |
|---|---|
| Apache 网站目录 | httpd_sys_content_t |
| Apache 可写目录 | httpd_sys_rw_content_t |
| NFS 共享 | public_content_t |
| Samba 共享 | samba_share_t |
| MySQL 数据目录 | mysqld_db_t |
| SSH 密钥 | ssh_home_t |
getenforce
Enforcing ✅Permissive ⚠️Disabled ❌(Context 不生效)ausearch -m avc -ts recent
journalctl -t setroubleshoot
sealert -a /var/log/audit/audit.log
如果是 locale / 系统环境上下文(不是 SELinux):
localectl set-locale LANG=zh_CN.UTF-8
# 临时
chcon -t xxx_t 文件
# 永久
semanage fcontext -a -t xxx_t "路径(/.*)?"
restorecon -Rv 路径
如果你能具体说一下:
我可以给你一条完全针对你场景的命令。