“Debian Context”这个说法在 Debian 里不是标准术语,所以要先确认你指的是哪一类“Context”。下面把最常见的几种情况都列出来,你可以对号入座;如果都不是,再告诉我你具体想做什么,我可以一步步帮你。
Debian 默认 不启用 SELinux,而是用 AppArmor。
sudo aa-status
/etc/apparmor.d/
sudo apt install apparmor-utils
sudo aa-genprof /usr/bin/your_program
Debian 支持,但不推荐新手用。
sudo apt install selinux-basics selinux-policy-default
sudo selinux-activate
sudo reboot
查看 context:
ls -Z
ps -Z
⚠️ 注意:Debian 上 SELinux 很容易把系统搞挂,除非你很确定需要它。
比如 Service 运行环境、用户、目录上下文
[Service]
User=www-data
Group=www-data
WorkingDirectory=/srv/app
Environment="NODE_ENV=production"
重载:
sudo systemctl daemon-reload
sudo systemctl restart your.service
sudo apt install debootstrap
sudo debootstrap stable /mnt/debian http://deb.debian.org/debian
进入 context:
sudo chroot /mnt/debian
sudo systemd-nspawn -D /mnt/debian
sudo nft add table inet filter
sudo nft add chain inet filter input { type filter hook input priority 0 \; }
sudo dpkg-reconfigure locales
或临时:
export LANG=zh_CN.UTF-8
比如:
可以用:
envdotenvdirenvcondadocker你可以直接回复类似:
我想配置的是 AppArmor / SELinux / systemd / chroot / 容器 / 网络 / 桌面语言
或者把报错信息 / 命令 / 截图发我,我可以给你精确到命令级别的配置方案。