在 Debian 系统中,“context 出错”通常和 SELinux / AppArmor 上下文、文件安全上下文不正确,或某些服务(如 FTP、Samba、容器、systemd)报 context 相关错误有关。下面按常见场景给你排查和解决思路。
Debian 默认使用 AppArmor,不是 SELinux,但如果你手动启用了 SELinux:
SELinux is preventing ... from read access on context ...
getenforce
setenforce 0
restorecon -Rv /path/to/dir
/etc/selinux/config)SELINUX=permissive
apparmor="DENIED" operation="open" ... profile="..." ...
aa-status
dmesg | grep apparmor
journalctl | grep apparmor
aa-complain /etc/apparmor.d/usr.sbin.nginx
vim /etc/apparmor.d/usr.sbin.xxx
添加需要的权限后:
apparmor_parser -r /etc/apparmor.d/usr.sbin.xxx
例如:
500 OOPS: cannot change directory:/home/xxx
ls -ld /home/xxx
restorecon -Rv /home/xxx
setsebool -P ftp_home_dir on
Failed to set up mount namespace: context error
apt update && apt upgrade
uname -a
systemctl restart docker
lxc-checkconfig
你可以补充:
cat /etc/debian_version
我可以给你精准的一行命令级解决方案。