在 CentOS(以及 RHEL 系列)中,“context 权限”通常指 SELinux 安全上下文(Security Context)。下面从查看、修改、恢复、持久化几个层面系统说明。
ls -Z /path/to/file
或
ls -Zd /path/to/dir
示例:
ls -Z /var/www/html/index.html
# system_u:object_r:httpd_sys_content_t:s0
ps -Z
getenforce
# Enforcing / Permissive / Disabled
chconchcon -t httpd_sys_content_t /var/www/html/test.html
常用参数:
-t:类型(type)-u:用户(如 system_u)-r:角色(如 object_r)示例(递归):
chcon -R -t httpd_sys_content_t /webdata
⚠️ chcon 不是持久化的,执行 restorecon 会还原。
semanage fcontextsemanage fcontext -a -t httpd_sys_content_t "/webdata(/.*)?"
restorecon -Rv /webdata
✅ 这样修改 重启后依然有效
restorecon -Rv /path
或恢复整个系统(谨慎):
restorecon -Rv /
如果希望某目录下新建文件自动带正确 context:
semanage fcontext -a -t httpd_sys_content_t "/webdata(/.*)?"
restorecon -Rv /webdata
| 服务 | 类型 |
|---|---|
| Apache 网页 | httpd_sys_content_t |
| Apache 可写 | httpd_sys_rw_content_t |
| MySQL 数据 | mysqld_db_t |
| NFS | public_content_t |
| FTP | public_content_rw_t |
ausearch -m avc -ts recent
或
sealert -a /var/log/audit/audit.log
自动生成建议:
semanage permissive -a httpd_t
临时:
setenforce 0
永久(需重启):
vi /etc/selinux/config
SELINUX=disabled
如果你是指:
可以告诉我具体场景,我给你精确命令。