你提到的 “Debian Context” 通常指 SELinux 的 Debian 上下文(Security Context),也可能是 AppArmor(Debian 默认用得多)。下面我按 最常见情况 给你说明,并给出配置方法。
Debian 默认不启用 SELinux,更多用于 RHEL / CentOS / Rocky。
查看是否启用:
getenforce
Disabled → 没启用Enforcing / Permissive → 已启用如果没启用,基本不需要配置 SELinux Context。
Debian 多数使用 AppArmor 做安全隔离。
查看状态:
sudo aa-status
sudo apt update
sudo apt install selinux-basics selinux-policy-default auditd
sudo selinux-activate
编辑:
sudo nano /etc/selinux/config
内容示例:
SELINUX=permissive
SELINUXTYPE=default
模式说明:
enforcing:强制permissive:只记录不拦截disabled:关闭重启:
sudo reboot
ls -Z
ps -Z
示例:
-rw-r--r-- user user system_u:object_r:home_root_t:s0 file.txt
sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
sudo restorecon -Rv /var/www/html
ls /etc/apparmor.d/
例如:
sudo nano /etc/apparmor.d/usr.sbin.nginx
示例规则:
/var/www/html/ r,
/var/www/html/** r,
sudo systemctl reload apparmor
ps -eo pid,user,label,comm
ls -lZ
| 说法 | 实际情况 |
|---|---|
| “Debian 用 SELinux” | ❌ 默认不用 |
| “Context 就是权限” | ❌ 是安全标签 |
| “改 chmod 就行” | ❌ 不够 |
你可以直接告诉我:
我可以给你 精确到命令级别 的配置方案。