在 CentOS(以及 RHEL 系列系统) 中,文件 context(安全上下文,Security Context) 通常是指 SELinux 为文件、目录、进程等对象分配的安全标签。
简单理解:
文件 context = SELinux 用来判断“谁能访问这个文件”的标签
SELinux(Security-Enhanced Linux)在传统的 用户/组/权限(rwx) 之外,增加了一层 强制访问控制(MAC)。
每个文件都有一个 安全上下文(context),格式通常是:
user:role:type:level
例如:
system_u:object_r:httpd_sys_content_t:s0
含义:
system_u)object_r)s0)在 CentOS 上,即使:
ls -l
-rwxr-xr-x root root file
如果 SELinux type 不对,服务仍然可能 拒绝访问。
httpd_sys_content_t
default_t
那么 Apache 可能无法读取ls -Z /var/www/html/index.html
输出示例:
system_u:object_r:httpd_sys_content_t:s0 index.html
ls -Zd /var/www/html
chcon(临时,重启可能失效)chcon -t httpd_sys_content_t /web/index.html
semanage + restorecon(永久)semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?"
restorecon -Rv /web
restorecon -Rv /var/www
CentOS 文件 context 就是 SELinux 给文件打的安全标签,用来控制进程能否访问文件,比普通权限更严格。
如果你愿意,我可以:
你想看哪一种?