在 CentOS(以及 RHEL 系列系统)中,context 通常出现在 SELinux(Security-Enhanced Linux) 的语境里,也就是 SELinux 安全上下文(security context)。如果你说的 “centos context” 是指这个,下面是一套从入门到实用的学习路径。
SELinux 中,每个进程、文件、端口都有一个“安全上下文”,格式通常是:
user:role:type:level
例如:
system_u:object_r:httpd_sys_content_t:s0
最常见、最重要的是 type(类型),它决定了访问规则。
getenforce
sestatus
常见状态:
Enforcing:强制模式(推荐学习时使用)Permissive:只记录不拦截Disabled:关闭(不推荐)临时切换:
setenforce 0 # Permissive
setenforce 1 # Enforcing
ls -Z
或
ls -Z /var/www/html
ps -Z
semanage port -l
chcon -t httpd_sys_content_t /srv/web/index.html
semanage fcontext -a -t httpd_sys_content_t "/srv/web(/.*)?"
restorecon -Rv /srv/web
/srv/webls -Z /srv/web
semanage fcontext -a -t httpd_sys_content_t "/srv/web(/.*)?"
restorecon -Rv /srv/web
例如 Nginx 用 8081:
semanage port -a -t http_port_t -p tcp 8081
ausearch -m AVC -ts recent
或
tail -f /var/log/audit/audit.log
sealert -a /var/log/audit/audit.log
或用:
audit2why < /var/log/audit/audit.log
man semanageman restoreconPermissive 开始“context” 在 CentOS 中也可能指:
如果你能补充一句,比如:
“我在配置 Apache / 写 systemd / 学 Linux 安全时看到 context”
我可以给你更精准的学习路线。
如果你愿意,我也可以:
你更想从哪一部分开始?